1. Sebelum Anda mulai
Dalam codelab ini, Anda akan mempelajari cara menggunakan Firebase App Distribution dan plugin fastlane -nya untuk mendistribusikan aplikasi iOS ke penguji, mengumpulkan UDID perangkat pengujian, dan mendaftarkannya ke profil penyediaan aplikasi Anda, sehingga Anda bisa mendapatkan build Ad Hoc dengan cepat ke penguji ' tangan.
Apa yang akan Anda pelajari?
- Cara mengunggah dan mendistribusikan aplikasi iOS pra-rilis (Ad Hoc) kepada penguji menggunakan Firebase App Distribution dan fastlane .
- Cara mendaftar sebagai penguji dan mengunduh aplikasi terdistribusi pada perangkat uji.
- Cara cepat mendaftarkan perangkat uji dengan mengekspor UDID perangkat uji dengan plugin fastlane App Distribution.
- Cara memperbarui profil penyediaan aplikasi Anda dan mengunggahnya kembali untuk distribusi.
Apa yang Anda butuhkan?
- Akun Google
- Mesin Apple dengan XCode 11.7+ terpasang
- Aplikasi iOS pra-rilis Ad Hoc yang dibangun di Xcode
- Akun Pengembang Apple berbayar
- Perangkat iOS fisik untuk pengujian.
Aplikasi simulator iOS akan berfungsi untuk sebagian besar codelab, tetapi simulator tidak dapat mengunduh rilis.
Anda masih dapat memverifikasi bahwa penyiapan berfungsi dengan memverifikasi bahwa tombol "Unduh" muncul di aplikasi web penguji Distribusi Aplikasi.
2. Memulai
Siapkan jalur cepat
App Distribution terintegrasi dengan fastlane untuk memungkinkan Anda mengotomatiskan pendistribusian build pra-rilis aplikasi Anda. App Distribution terintegrasi dengan konfigurasi fastlane Anda.
- Instal dan atur fastlane .
- Jalankan
fastlane init
di direktori root proyek Anda selama penyiapan, dan pilih "Pengaturan manual." Anda akan melihat subdirektori bernamafastlane
yang berisiFastfile
,Appfile
, danPluginfile
, yang akan Anda gunakan untuk mengonfigurasi fastlane .
3. Bangun aplikasi Anda dengan fastlane
Bangun aplikasi Anda
- Setel beberapa variabel global untuk fastlane di
./fastlane/Appfile.
Sertakan ID aplikasi dan ID Apple Anda:
app_identifier("<your app's bundle identifier>")
apple_id("<your Apple id>")
- Buat jalur pertama Anda dan gunakan tindakan build_app
build_app
(juga dikenal sebagaigym
) untuk membangun aplikasi Anda dengan menambahkan yang berikut ke./fastlane/Fastfile
Anda:
default_platform(:ios)
lane :build do
build_app(export_method: "ad-hoc")
end
- Tanda tangani aplikasi Anda untuk didistribusikan.
Untuk codelab ini, Anda akan mengelola sertifikasi dan profil Anda sendiri menggunakan get_certificates
(juga dikenal sebagai cert
), yang menghasilkan sertifikat penandatanganan secara lokal dan menyimpan semuanya di Rantai Kunci macOS Anda. Namun, biasanya, Anda ingin menggunakan sync_code_signing action
fastlane sync_code_signing (juga dikenal sebagai match
) untuk mengelola sertifikat dan profil penandatanganan kode tim Anda dengan aman.
lane :build do
get_certificates()
build_app(export_method: "ad-hoc")
end
- Siapkan profil penyediaan untuk aplikasi Anda menggunakan tindakan
get_provisioning_profile
(juga dikenal sebagaisigh
). Ini memungkinkan Anda berbagi aplikasi dengan penguji.
lane :build do
get_certificates()
get_provisioning_profile(adhoc: true)
build_app(export_method: "ad-hoc")
end
- [Opsional] Jika Anda belum pernah menjalankan aplikasi sebelumnya, jalankan perintah berikut untuk membuat aplikasi di konsol pengembang Apple:
$ fastlane produce --skip_itc
- Terakhir, bangun aplikasi Anda dengan menjalankan jalur.
Anda akan dimintai ID Apple, kata sandi (yang disimpan di Rantai Kunci Anda), dan ID bundel aplikasi Anda.
$ fastlane build
Jika Anda mengalami masalah apa pun, silakan lihat panduan pemecahan masalah jalur cepat .
4. Unggah aplikasi Anda ke Firebase
Sekarang setelah Anda membangun aplikasi, Anda siap untuk mengunggahnya ke App Distribution.
Buat dan siapkan proyek Firebase
- Masuk ke Firebase.
- Di Firebase console, buat atau tambahkan proyek baru, lalu beri nama proyek Anda "UDID Export Codelab".
Anda tidak perlu mengaktifkan Google Analytics untuk proyek ini.
- Klik Buat proyek .
Tambahkan aplikasi iOS Anda ke proyek
- Klik ikon iOS untuk membuat aplikasi iOS Firebase baru, dan masukkan ID bundel aplikasi Anda.
- Lewati beberapa langkah berikutnya, lalu klik Continue to console . Anda akan menambahkan SDK ke aplikasi Anda nanti.
Proyek dan aplikasi Anda sekarang tersedia di halaman Ikhtisar Proyek .
Aktifkan Distribusi Aplikasi
- Di bawah bagian Rilis & Monitor, klik Distribusi Aplikasi .
- Setelah menerima persyaratan, klik "Mulai" untuk mengaktifkan Distribusi Aplikasi untuk aplikasi Anda.
Siapkan distribusi di fastlane
- Jalankan perintah berikut dari root proyek iOS Anda untuk menambahkan App Distribution ke konfigurasi fastlane Anda.
Jika perintah meminta Anda dengan opsi, pilih Opsi 3: RubyGems.org :
$ fastlane add_plugin firebase_app_distribution
- Konfirmasikan bahwa plugin telah diinstal:
$ fastlane
Outputnya harus menunjukkan fastlane-plugin-firebase_app_distribution
dalam daftar plugin yang diinstal.
- Setelah mengonfirmasi plugin diinstal, pilih opsi 0 untuk membatalkan.
Otentikasi proyek Firebase Anda
Untuk menggunakan plugin fastlane , Anda harus mengautentikasi proyek Firebase terlebih dahulu.
- Jalankan perintah berikut:
$ fastlane run firebase_app_distribution_login
- Saat perintah mencetak tautan autentikasi, buka tautan di browser.
- Saat diminta, masuk ke Akun Google Anda dan berikan izin untuk mengakses proyek Firebase Anda.
Salin kode yang dihasilkan dari browser login dan tempel ke baris perintah.
- Tindakan login kemudian mencetak token penyegaran, yang digunakan plugin Distribusi Aplikasi untuk mengautentikasi dengan Firebase:
- Lewati token dengan menyetel variabel lingkungan
FIREBASE_TOKEN
:
$ export FIREBASE_TOKEN=
<token>
Distribusikan aplikasi Anda
Anda sekarang siap untuk mendistribusikan aplikasi Anda.
- Di bagian atas
./fastlane/Fastfile
Anda, tentukan variabel bernamafirebase_app_id
. Ganti<your_app_id>
dengan ID Aplikasi Firebase untuk aplikasi yang Anda buat (ini dapat ditemukan di halaman setelan proyek ).
Fastfile
ditulis dalam Ruby, jadi gunakan sintaks Ruby untuk mendefinisikan variabel.
firebase_app_id = "<your_app_id>"
- Tambahkan jalur baru bernama
distribute
yang memanggil jalur pembangunan, lalu distribusikan aplikasi Anda menggunakan tindakanfirebase_app_distribution
.
lane :distribute do
build
firebase_app_distribution(
app: firebase_app_id,
release_notes: "Try out this app!",
)
end
- Jalankan jalur baru untuk membangun aplikasi Anda dan membuat distribusi.
$ fastlane distribute
Pada titik ini, Fastfile Anda akan terlihat seperti berikut:
firebase_app_id = "<your Firebase app ID>"
default_platform(:ios)
lane :build do
get_certificates()
get_provisioning_profile(adhoc: true)
build_app(export_method: "ad-hoc")
end
lane :distribute do
build
firebase_app_distribution(
app: firebase_app_id,
release_notes: "Try out this app!",
)
end
Setelah menyegarkan konsol Firebase, Anda akan melihat rilis baru untuk aplikasi Anda.
5. Undang penguji untuk mengunduh aplikasi Anda
Saat penguji menerima undangan untuk menguji build Ad Hoc, mereka akan dimintai izin untuk membagikan UDID mereka. Jika mereka setuju, App Distribution mengumpulkan informasi perangkat mereka dan memberi tahu Anda melalui email. Di bagian ini, Anda akan menambahkan diri Anda sebagai penguji untuk mengunduh dan menguji aplikasi yang Anda distribusikan.
Tambahkan diri Anda sebagai penguji rilis
- Di bawah
firebase_app_id
di bagian atas Fastfile Anda, buat variabel untuk menampung penguji dan sertakan alamat email Anda sendiri, serta alamat email opsional lainnya yang ingin Anda coba.
firebase_app_id = "<your Firebase app ID>"
app_testers = [
"your@email.com",
"another@email.com",
]
- Terapkan metode Ruby's Array#join untuk mengubah array
app_testers
menjadi string yang dipisahkan koma, yang diharapkan oleh parametertesters
. Kemudian, berikan hasilnya ke parametertesters
firebase_app_distribution.
lane :distribute do
build
firebase_app_distribution(
app: firebase_app_id,
release_notes: "Try out this app!"
testers: app_testers.join(","),
)
end
Pada titik ini, Fastfile Anda akan terlihat seperti ini:
firebase_app_id = "<your Firebase app ID>"
app_testers = [
"your@email.com",
"another@email.com",
]
default_platform(:ios)
lane :build do
get_certificates()
get_provisioning_profile(adhoc: true)
build_app(export_method: "ad-hoc")
end
lane :distribute do
build
firebase_app_distribution(
app: firebase_app_id,
release_notes: "Try out this app!",
testers: app_testers.join(","),
)
end
- Jalankan jalur lagi.
$ fastlane distribute
Setelah Anda menjalankan jalur, penguji yang Anda tambahkan akan menerima email undangan dari App Distribution yang memberi tahu mereka tentang rilis baru yang tersedia. Di Firebase console, Anda sekarang dapat melihat penguji yang Anda tambahkan di bawah rilis aplikasi Anda.
Karena Anda menyertakan alamat email, Anda akan menerima email dari Firebase App Distribution yang mengundang Anda untuk menguji aplikasi. Anda sekarang penguji pertama! Lanjutkan bagian di bawah ini untuk menyiapkan sebagai penguji di perangkat pengujian Anda.
Daftarkan perangkat uji Anda
Sebagai penguji, Anda harus masuk ke Google di perangkat pengujian untuk mengakses rilis aplikasi yang telah diundang untuk diuji. Karena build pengujian Anda adalah rilis Ad Hoc, Anda juga harus mendaftarkan perangkat pengujian dengan menginstal profil Firebase. Setelah itu, rilis yang tersedia untuk Anda dapat diakses dari aplikasi web penguji App Distribution, menggunakan klip web yang ditambahkan ke layar beranda perangkat Anda.
- Di perangkat uji iOS Anda, buka email yang dikirim dari Firebase App Distribution dan ketuk tautan Memulai . Pastikan untuk membuka tautan di Safari.
- Anda sekarang berada di aplikasi web penguji App Distribution. Di halaman yang muncul, masuk dengan akun Google Anda dan ketuk Terima undangan.
- Sekarang Anda dapat melihat rilis yang mengundang Anda. Ketuk Daftarkan perangkat di bawah salah satu rilis.
- Saat diminta, unduh profil Firebase, lalu instal profil di aplikasi Pengaturan.
Menginstal profil memberikan izin kepada Firebase untuk:
- Daftarkan perangkat uji dengan mengumpulkan ID perangkat unik (UDID) perangkat.
Firebase mengirimkan email kepada semua Pemilik dan Editor proyek Firebase yang menyertakan UDID perangkat pengujian.
- Pasang klip web ke layar beranda perangkat uji. Klip web membuka aplikasi web penguji Distribusi Aplikasi, yang memungkinkan Anda menginstal dan mengakses semua aplikasi pengujian Anda.
Di aplikasi web penguji App Distribution, perangkat pengujian Anda sekarang terdaftar untuk rilis aplikasi Anda.
Sekarang setelah Anda membagikan UDID perangkat pengujian ke Firebase, Anda sekarang dapat melanjutkan sebagai pengembang. Di tab Penguji di dasbor App Distribution , informasi penguji Anda sekarang muncul di bawah rilis aplikasi Anda dengan status sebagai "Diterima":
Di bagian berikutnya, Anda akan menambahkan UDID perangkat ke profil penyediaan aplikasi, lalu membuat versi aplikasi yang berfungsi dengan perangkat pengujian Anda.
Ekspor UDID perangkat penguji Anda
Sebagai pengembang, Anda akan mendapatkan email dari Firebase yang berisi UDID perangkat pengujian. Sebagai opsi, App Distribution memudahkan pengumpulan beberapa UDID perangkat baru sekaligus dengan memungkinkan Anda mengekspornya langsung dari Firebase console sebagai file teks mentah.
- Untuk mengekspor semua UDID, buka tab Penguji & Grup .
- Klik Ekspor Apple UDID .
File harus berisi UDID perangkat pengujian Anda.
Device ID Device Name Device Platform
1234567890 udid.codelab.tester@gmail.com - iPhone SE 2nd Gen ios
UDID juga dapat diekspor dari baris perintah menggunakan fastlane , yang akan Anda lakukan di bagian berikutnya.
6. Perbarui profil penyediaan aplikasi Anda dan bangun kembali
Sekarang, Anda akan menambahkan UDID perangkat pengujian ke profil penyediaan aplikasi, membuat ulang versi aplikasi yang berfungsi untuk perangkat Anda, dan mendistribusikan versi baru.
Tambahkan jalur ekspor UDID
- Tambahkan variabel lain di bagian atas Fastfile Anda, dan setel ke jalur file tempat UDID perangkat penguji Anda akan diunduh.
firebase_app_id = "<your Firebase app ID>"
app_testers = [
"your@email.com",
"another@email.com",
]
tester_udids_file = "tester_udids.txt"
- Siapkan jalur baru yang menggunakan tindakan ekspor UDID plugin App Distribution untuk mengunduh UDID penguji, seperti yang Anda lakukan dari konsol.
lane :download_udids do
firebase_app_distribution_get_udids(
app: firebase_app_id,
output_file: tester_udids_file,
)
end
- Jalankan jalur berikut untuk mengunduh UDID.
$ fastlane download_udids
- Cetak file yang diunduh, yang seharusnya berisi UDID perangkat uji.
$ cat tester_udids.txt
Tambahkan perangkat ke konsol pengembang Apple
- Buat jalur berikut untuk menambahkan UDID ke daftar perangkat Anda di konsol pengembang Apple, sehingga Anda dapat menambahkannya ke profil penyediaan Anda menggunakan tindakan
register_devices
fastlane :
lane :add_new_devices do
register_devices(devices_file: tester_udids_file)
end
- Kemudian, jalankan jalur:
$ fastlane add_new_devices
Anda kemudian akan melihat perangkat baru di daftar perangkat konsol pengembang Anda .
Tambahkan perangkat ke profil penyediaan Anda
- Tambahkan argumen
force
ke langkah profil penyediaan di jalurbuild
Anda, untuk memaksanya mengambil perangkat baru setiap kali Anda membangun.
lane :build do
get_certificates()
get_provisioning_profile(adhoc: true, force: true)
build_app(export_method: "ad-hoc")
end
Jalankan kembali jalur untuk membangun dan mengunggah
Sekarang, Anda akan memperbarui jalur distribute
Anda dengan jalur baru untuk menambahkan perangkat ke profil penyediaan, membangun kembali aplikasi, dan kemudian mendistribusikannya.
- Panggil jalur baru dari
distribute
:
lane :distribute do
download_udids
add_new_devices
build
firebase_app_distribution(
app: "1:123456789:ios:abcd1234",
release_notes: "Try out this app!"
testers: app_testers.join(","),
)
end
- Jalankan jalur
distribute
:
$ fastlane distribute
Pada titik ini, Fastfile Anda akan terlihat seperti ini:
firebase_app_id = "<your Firebase app ID>"
app_testers = [
"your@email.com",
"another@email.com",
]
tester_udids_file = "tester_udids.txt"
default_platform(:ios)
lane :build do
get_certificates()
get_provisioning_profile(adhoc: true, force: true)
build_app(export_method: "ad-hoc")
end
lane :distribute do
download_udids
add_new_devices
build
firebase_app_distribution(
app: firebase_app_id,
release_notes: "Try out this app!",
testers: app_testers.join(","),
)
end
lane :download_udids do
firebase_app_distribution_get_udids(
app: firebase_app_id,
output_file: tester_udids_file,
)
end
lane :add_new_devices do
register_devices(devices_file: tester_udids_file)
end
Unduh rilis dari perangkat uji
Setelah aplikasi Anda menyertakan UDID perangkat pengujian, UDID tersebut dapat diinstal ke perangkat pengujian.
- Di perangkat uji Anda, kembali ke aplikasi web penguji App Distribution menggunakan tautan di email, atau ikon di layar beranda perangkat.
Saat Anda menavigasi ke aplikasi codelab UDID, Anda dapat melihat bahwa rilis siap untuk diunduh.
- Jika Anda menggunakan perangkat fisik, tekan unduh, lalu instal dan jalankan aplikasi!
7. Selamat
Anda sekarang telah mengonfigurasi App Distribution dan fastlane untuk mengotomatiskan proses pengujian pra-rilis Anda. Sekarang, ketika Anda ingin mengundang penguji tambahan, atau menambahkan UDID mereka ke aplikasi Anda, Anda hanya perlu menjalankan satu perintah: fastlane distribute
.
Jadi, tidak perlu lagi mengumpulkan UDID secara individual dari penguji, atau membuka konsol pengembang Apple untuk memperbarui daftar perangkat atau profil penyediaan. Anda bahkan tidak perlu membuka XCode!
Alur kerja ini mudah diatur untuk dijalankan setiap jam atau setiap hari di lingkungan integrasi berkelanjutan Anda.
Bacaan lebih lanjut
- Jelajahi fitur Firebase App Distribution , termasuk SDK dalam aplikasi kami untuk iOS
- Pelajari lebih lanjut tentang jalur cepat
- Kelola penandatanganan kode tim Anda dengan
match
- Integrasikan fastlane ke CI Anda