Distribusikan versi iOS pra-rilis Anda lebih cepat dengan App Distribution dan fastlane

1. Sebelum Anda mulai

4cddd34bd261cea0.png

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 dalam penguji ' tangan.

Apa yang akan Anda pelajari

  • Cara mengupload 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 pengujian.
  • Cara cepat mendaftarkan perangkat pengujian dengan mengekspor UDID perangkat pengujian dengan plugin fastlane App Distribution.
  • Cara memperbarui profil penyediaan aplikasi Anda dan mengunggahnya kembali untuk didistribusikan.

Apa yang Anda perlukan

  • Akun Google
  • Mesin Apple dengan XCode 11.7+ terinstal
  • 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 mendownload 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

Distribusi Aplikasi terintegrasi dengan fastlane untuk memungkinkan Anda mengotomatiskan pendistribusian versi pra-rilis aplikasi Anda. Distribusi Aplikasi terintegrasi dengan konfigurasi fastlane Anda.

  1. Instal dan atur fastlane .
  2. Jalankan fastlane init di direktori root proyek Anda selama penyiapan, dan pilih "Penyiapan manual". Anda akan melihat subdirektori bernama fastlane yang berisi Fastfile , Appfile , dan Pluginfile , yang akan Anda gunakan untuk mengonfigurasi fastlane .

Instal Firebase CLI

Anda juga perlu menginstal Firebase CLI . Jika Anda menggunakan macOS atau Linux, Anda dapat menjalankan perintah cURL berikut:

curl -sL https://firebase.tools | bash

Jika Anda menggunakan Windows, baca petunjuk instalasi untuk mendapatkan biner mandiri atau menginstal melalui npm .

Setelah Anda menginstal CLI, menjalankan firebase --version akan melaporkan versi 12.0.0 atau lebih tinggi:

$ firebase --version
12.0.0

3. Bangun aplikasi Anda dengan fastlane

Bangun aplikasi Anda

  1. Tetapkan 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>")
  1. Buat jalur pertama Anda dan gunakan tindakan build_app fastlane (juga dikenal sebagai gym ) untuk membangun aplikasi Anda dengan menambahkan yang berikut ke ./fastlane/Fastfile :
default_platform(:ios)

lane :build do
    build_app(export_method: "ad-hoc")
end
  1. 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
  1. Siapkan profil penyediaan untuk aplikasi Anda menggunakan tindakan get_provisioning_profile (juga dikenal sebagai sigh ). Ini memungkinkan Anda berbagi aplikasi dengan penguji.
lane :build do
    get_certificates()
    get_provisioning_profile(adhoc: true)
    build_app(export_method: "ad-hoc")
end
  1. [Opsional] Jika Anda belum pernah menjalankan aplikasi sebelumnya, jalankan perintah berikut untuk membuat aplikasi di konsol pengembang Apple:

$ fastlane produce --skip_itc

  1. Terakhir, bangun aplikasi Anda dengan menjalankan jalur.

Anda akan dimintai ID Apple, kata sandi (yang disimpan di Rantai Kunci), dan ID paket aplikasi Anda.

$ fastlane build

Jika Anda mengalami masalah apa pun, silakan lihat panduan pemecahan masalah fastlane .

4. Unggah aplikasi Anda ke Firebase

Sekarang setelah Anda membuat aplikasi, Anda siap mengunggahnya ke App Distribution.

Membuat dan menyiapkan proyek Firebase

  1. Masuk ke Firebase.
  2. Di Firebase console, buat atau tambahkan proyek baru, lalu beri nama proyek Anda "UDID Ekspor Codelab".

Anda tidak perlu mengaktifkan Google Analytics untuk proyek ini.

  1. Klik Buat proyek .

Tambahkan aplikasi iOS Anda ke proyek

  1. Klik ikon iOS untuk membuat aplikasi Firebase iOS baru, dan masukkan ID paket aplikasi Anda.

9c26c130a6c42212.png

  1. Lewati beberapa langkah berikutnya, lalu klik Lanjutkan ke konsol . Anda akan menambahkan SDK ke aplikasi Anda nanti.

Proyek dan aplikasi Anda kini tersedia di halaman Ikhtisar Proyek .

66f79cc8a97fa8e9.png

Aktifkan Distribusi Aplikasi

  1. Di bawah bagian Rilis & Monitor, klik Distribusi Aplikasi .
  2. Setelah menerima persyaratan, klik "Memulai" untuk mengaktifkan Distribusi Aplikasi untuk aplikasi Anda.

460213326c2784ae.png

Siapkan distribusi di fastlane

  1. Jalankan perintah berikut dari root proyek iOS Anda untuk menambahkan App Distribution ke konfigurasi fastlane Anda.

Jika perintah meminta Anda memilih opsi, pilih Opsi 3: RubyGems.org :

$ fastlane add_plugin firebase_app_distribution

  1. Konfirmasikan bahwa plugin telah diinstal:

$ fastlane

Outputnya akan menampilkan fastlane-plugin-firebase_app_distribution dalam daftar plugin yang diinstal.

  1. Setelah mengonfirmasi plugin telah diinstal, pilih opsi 0 untuk membatalkan.

Autentikasi proyek Firebase Anda

Untuk menggunakan plugin fastlane , Anda harus mengautentikasi proyek Firebase Anda terlebih dahulu.

  1. Jalankan perintah berikut untuk menghubungkan CLI ke akun Google Anda:

$ firebase login

  1. Saat perintah mencetak tautan autentikasi, buka tautan tersebut di browser.
  2. Jika diminta, login ke Akun Google Anda dan berikan izin untuk mengakses proyek Firebase Anda.

Distribusikan aplikasi Anda

Anda sekarang siap untuk mendistribusikan aplikasi Anda.

  1. Di bagian atas ./fastlane/Fastfile , tentukan variabel bernama firebase_app_id . Ganti <your_app_id> dengan ID Aplikasi Firebase untuk aplikasi yang Anda buat (ini dapat ditemukan di halaman pengaturan proyek ).

Fastfile ditulis dalam Ruby, jadi gunakan sintaks Ruby untuk mendefinisikan variabel.

firebase_app_id = "<your_app_id>"
  1. Tambahkan jalur baru bernama distribute yang memanggil jalur build, lalu distribusikan aplikasi Anda menggunakan tindakan firebase_app_distribution .
lane :distribute do
    build
    firebase_app_distribution(
        app: firebase_app_id,
        release_notes: "Try out this app!",
    )
end
  1. 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 Firebase console, Anda akan melihat rilis baru untuk aplikasi Anda.

c59dc1a94de3bf3c.png

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

  1. 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",
]
  1. Terapkan metode Array#join Ruby untuk mengubah array app_testers menjadi string yang dipisahkan koma, yang diharapkan oleh parameter testers . Kemudian, teruskan hasilnya ke parameter testers 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
  1. Jalankan jalur lagi.

$ fastlane distribute

Setelah Anda menjalankan jalur tersebut, penguji yang Anda tambahkan akan menerima email undangan dari App Distribution yang memberi tahu mereka tentang rilis baru yang tersedia. Di Firebase console, kini Anda dapat melihat penguji yang Anda tambahkan pada rilis aplikasi Anda.

2e0fc9603b868af8.png

Karena Anda menyertakan alamat email, Anda akan menerima email dari Firebase App Distribution yang mengundang Anda untuk menguji aplikasi. Anda sekarang adalah penguji pertama! Lanjutkan bagian di bawah ini untuk menyiapkan sebagai penguji pada perangkat pengujian Anda.

Daftarkan perangkat pengujian Anda

Sebagai penguji, Anda harus masuk ke Google di perangkat pengujian untuk mengakses rilis aplikasi yang mengundang Anda untuk menguji. 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 utama perangkat Anda.

  1. Di perangkat pengujian iOS Anda, buka email yang dikirim dari Firebase App Distribution dan ketuk tautan Memulai . Pastikan untuk membuka tautan di Safari.
  2. Anda sekarang berada di aplikasi web penguji Distribusi Aplikasi. Di halaman yang muncul, masuk dengan akun Google Anda dan ketuk Terima undangan.

d833407de251b89f.png

  1. Kini Anda dapat melihat rilis yang mengundang Anda. Ketuk Daftarkan perangkat di bawah salah satu rilis.

fd141215e54a938d.png

  1. Jika diminta, download profil Firebase, lalu instal profil tersebut di aplikasi Setelan.

Memasang profil memberi izin kepada Firebase untuk:

  • Daftarkan perangkat pengujian dengan mengumpulkan ID perangkat unik (UDID) perangkat tersebut.

Firebase mengirimkan email kepada semua Pemilik dan Editor proyek Firebase yang menyertakan UDID perangkat pengujian.

  • Instal klip web ke layar beranda perangkat uji. Klip web membuka aplikasi web penguji Distribusi Aplikasi, yang memungkinkan Anda memasang dan mengakses semua aplikasi pengujian.

Di aplikasi web penguji App Distribution, perangkat pengujian Anda kini terdaftar untuk rilis aplikasi Anda.

fe93d649dfa25877.png

Kini setelah Anda membagikan UDID perangkat pengujian ke Firebase, kini Anda dapat melanjutkan sebagai developer. Di tab Penguji di dasbor Distribusi Aplikasi , informasi penguji Anda kini muncul di bawah rilis aplikasi Anda dengan status "Diterima":

7b9f665a63a384cf.png

Di bagian berikutnya, Anda akan menambahkan UDID perangkat ke profil penyediaan aplikasi Anda, 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.

  1. Untuk mengekspor semua UDID, buka tab Penguji & Grup .

241a9936898a2fc0.png

  1. Klik Ekspor UDID Apple .

bcf0c26c522d9b4e.png

File tersebut 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 selanjutnya.

6. Perbarui profil penyediaan aplikasi Anda dan bangun kembali

Sekarang, Anda akan menambahkan UDID perangkat pengujian ke profil penyediaan aplikasi Anda, membuat ulang versi aplikasi yang berfungsi untuk perangkat Anda, dan mendistribusikan versi baru.

Tambahkan jalur ekspor UDID

  1. 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"
  1. 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
  1. Jalankan jalur berikut untuk mengunduh UDID.

$ fastlane download_udids

  1. Cetak file yang diunduh, yang seharusnya berisi UDID perangkat uji.

$ cat tester_udids.txt

Tambahkan perangkat ke konsol pengembang Apple

  1. 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
  1. Lalu, jalankan jalur:

$ fastlane add_new_devices

Anda kemudian akan melihat perangkat baru di daftar perangkat konsol pengembang Anda.

Tambahkan perangkat ke profil penyediaan Anda

  1. Tambahkan argumen force ke langkah profil penyediaan di jalur build 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 dengan jalur baru untuk menambahkan perangkat ke profil penyediaan, membuat ulang aplikasi, dan kemudian mendistribusikannya.

  1. 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
  1. 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

Kini setelah aplikasi Anda menyertakan UDID perangkat pengujian, aplikasi tersebut dapat diinstal ke perangkat pengujian.

e275f73d57cc8fb1.png

  1. Di perangkat pengujian Anda, kembali ke aplikasi web penguji App Distribution menggunakan link di email, atau ikon di layar utama perangkat.

Saat membuka aplikasi codelab UDID, Anda dapat melihat bahwa rilis siap untuk diunduh.

ayah6d03b6ad78746.png

  1. 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, saat 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