Uygulama Dağıtımı ve fastlane ile yayın öncesi iOS derlemelerinizi daha hızlı dağıtın

1. Başlamadan önce

4cddd34bd261cea0.png

Bu codelab'de, bir iOS uygulamasını test kullanıcılarına dağıtmak, test cihazı UDID'lerini toplamak ve bunları uygulamanızın temel hazırlık profiline kaydetmek için Firebase App Distribution'ı ve fastlane eklentisini nasıl kullanacağınızı öğreneceksiniz; böylece Ad Hoc derlemeleri hızlı bir şekilde test kullanıcılarına aktarabilirsiniz. ' eller.

Ne öğreneceksin

  • Firebase App Distribution ve fastlane kullanarak yayın öncesi bir iOS uygulamasını (Ad Hoc) test kullanıcılarına yükleme ve dağıtma.
  • Test kullanıcısı olarak nasıl kayıt olunur ve dağıtılan uygulama bir test cihazına nasıl indirilir?
  • Test cihazı UDID'lerini App Distribution'ın fastlane eklentisi ile dışa aktararak test cihazlarını hızlı bir şekilde kaydetme.
  • Uygulamanızın temel hazırlık profilini nasıl güncelleyebilir ve dağıtım için yeniden yükleyebilirsiniz?

İhtiyacınız olan şey

  • Bir Google hesabı
  • XCode 11.7+ yüklü bir Apple makinesi
  • Xcode'da yerleşik, Ad Hoc ön sürüm iOS uygulaması
  • Ücretli bir Apple Geliştirici hesabı
  • Test için fiziksel bir iOS cihazı.

iOS simülatör uygulaması codelab'in çoğunda çalışır ancak simülatörler sürümleri indiremez.

Uygulama Dağıtımı test cihazı web uygulamasında "İndir" düğmesinin göründüğünü doğrulayarak kurulumun çalıştığını yine de doğrulayabilirsiniz.

2. Başlayın

Fastlane'i ayarla

Uygulama Dağıtımı, uygulamanızın yayın öncesi yapılarının dağıtımını otomatikleştirmenizi sağlamak için fastlane ile entegre olur. Uygulama Dağıtımı fastlane yapılandırmanızla bütünleşir.

  1. Fastlane'i kurun ve ayarlayın .
  2. Kurulum sırasında projenizin kök dizininde fastlane init çalıştırın ve "Manuel kurulum"u seçin. Fastlane'i yapılandırmak için kullanacağınız Fastfile , Appfile ve Pluginfile içeren fastlane adında bir alt dizin göreceksiniz.

Firebase CLI'yi yükleyin

Ayrıca Firebase CLI'yi de yüklemeniz gerekecektir. MacOS veya Linux kullanıyorsanız aşağıdaki cURL komutunu çalıştırabilirsiniz:

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

Windows kullanıyorsanız, bağımsız bir ikili dosya almak veya npm aracılığıyla kurulum yapmak için kurulum talimatlarını okuyun.

CLI'yi yükledikten sonra firebase --version çalıştırmak 12.0.0 veya üzeri bir sürümü bildirmelidir:

$ firebase --version
12.0.0

3. Fastlane ile uygulamanızı oluşturun

Uygulamanızı oluşturun

  1. ./fastlane/Appfile dosyanızda fastlane için bazı genel değişkenler ayarlayın ./fastlane/Appfile. Uygulamanızın kimliğini ve Apple Kimliğinizi ekleyin:
app_identifier("<your app's bundle identifier>")
apple_id("<your Apple id>")
  1. İlk şeridinizi oluşturun ve aşağıdakileri ./fastlane/Fastfile dosyanıza ekleyerek uygulamanızı oluşturmak için fastlane'in build_app eylemini ( gym olarak da bilinir) kullanın:
default_platform(:ios)

lane :build do
    build_app(export_method: "ad-hoc")
end
  1. Dağıtım için uygulamanızı imzalayın.

Bu codelab için, yerel olarak imzalama sertifikaları oluşturan ve her şeyi macOS Anahtar Zincirinizde saklayan get_certificates ( cert olarak da bilinir) kullanarak kendi sertifikanızı ve profilinizi yöneteceksiniz. Ancak genellikle ekibinizin kod imzalama sertifikalarını ve profillerini güvenli bir şekilde yönetmek için fastlane sync_code_signing action ( match olarak da bilinir) kullanmak istersiniz.

lane :build do
    get_certificates()
    build_app(export_method: "ad-hoc")
end
  1. get_provisioning_profile eylemini ( sigh olarak da bilinir) kullanarak uygulamanız için bir temel hazırlık profili oluşturun. Bu, uygulamanızı test kullanıcılarıyla paylaşmanıza olanak tanır.
lane :build do
    get_certificates()
    get_provisioning_profile(adhoc: true)
    build_app(export_method: "ad-hoc")
end
  1. [İsteğe bağlı] Uygulamanızı daha önce hiç çalıştırmadıysanız, uygulamanızı Apple geliştirici konsolunda oluşturmak için aşağıdaki komutu çalıştırın:

$ fastlane produce --skip_itc

  1. Son olarak şeridi çalıştırarak uygulamanızı oluşturun.

Sizden Apple Kimliğiniz, şifreniz (Anahtarlığınızda saklanan) ve uygulamanızın paket kimliği istenecektir.

$ fastlane build

Herhangi bir sorunla karşılaşırsanız lütfen fastlane sorun giderme kılavuzuna bakın.

4. Uygulamanızı Firebase'e yükleyin

Artık uygulamanızı oluşturduğunuza göre onu Uygulama Dağıtımına yüklemeye hazırsınız.

Firebase projesi oluşturma ve kurma

  1. Firebase'de oturum açın.
  2. Firebase konsolunda yeni bir proje oluşturun veya ekleyin ve ardından projenize "UDID Dışa Aktarma Codelab" adını verin.

Bu proje için Google Analytics'i etkinleştirmenize gerek yok.

  1. Proje oluştur'u tıklayın.

iOS uygulamanızı projeye ekleyin

  1. Yeni bir Firebase iOS uygulaması oluşturmak için iOS simgesini tıklayın ve uygulamanızın paket kimliğini girin.

9c26c130a6c42212.png

  1. Sonraki birkaç adımı atlayın ve ardından Konsola devam et seçeneğine tıklayın. SDK'ları daha sonra uygulamanıza ekleyeceksiniz.

Projeniz ve uygulamanız artık Projeye Genel Bakış sayfasında mevcuttur.

66f79cc8a97fa8e9.png

Uygulama Dağıtımını Etkinleştir

  1. Yayınlama ve İzleme bölümünün altında Uygulama Dağıtımı'na tıklayın.
  2. Şartları kabul ettikten sonra uygulamanız için Uygulama Dağıtımını etkinleştirmek üzere "Başlayın"ı tıklayın.

460213326c2784ae.png

Fastlane'de dağıtım ayarlama

  1. Fastlane yapılandırmanıza Uygulama Dağıtımı eklemek için iOS projenizin kökünden aşağıdaki komutu çalıştırın.

Komut sizden bir seçenek isterse Seçenek 3'ü seçin: RubyGems.org :

$ fastlane add_plugin firebase_app_distribution

  1. Eklentinin kurulu olduğunu doğrulayın:

$ fastlane

Çıktı, yüklü eklentiler listesinde fastlane-plugin-firebase_app_distribution göstermelidir.

  1. Eklentinin yüklendiğini onayladıktan sonra iptal etmek için 0 seçeneğini seçin.

Firebase projenizin kimliğini doğrulayın

Fastlane eklentisini kullanmak için öncelikle Firebase projenizin kimliğini doğrulayacaksınız.

  1. CLI'yi Google hesabınıza bağlamak için aşağıdaki komutu çalıştırın:

$ firebase login

  1. Komut bir kimlik doğrulama bağlantısı yazdırdığında bağlantıyı bir tarayıcıda açın.
  2. İstendiğinde Google Hesabınızda oturum açın ve Firebase projenize erişim izni verin.

Uygulamanızı dağıtın

Artık uygulamanızı dağıtmaya hazırsınız.

  1. ./fastlane/Fastfile dosyanızın üst kısmında firebase_app_id adında bir değişken tanımlayın. <your_app_id> kısmını, oluşturduğunuz uygulamanın Firebase Uygulama Kimliğiyle değiştirin (bu, proje ayarları sayfasında bulunabilir).

Fastfile Ruby'de yazılmıştır, dolayısıyla değişkenleri tanımlamak için Ruby sözdizimini kullanın.

firebase_app_id = "<your_app_id>"
  1. Derleme şeridini çağıran ve ardından firebase_app_distribution eylemini kullanarak uygulamanızı dağıtan, distribute adı verilen yeni bir şerit ekleyin.
lane :distribute do
    build
    firebase_app_distribution(
        app: firebase_app_id,
        release_notes: "Try out this app!",
    )
end
  1. Uygulamanızı oluşturmak ve bir dağıtım oluşturmak için yeni şeridi çalıştırın.

$ fastlane distribute

Bu noktada Fastfile'ınız aşağıdaki gibi görünmelidir:

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

Firebase konsolunu yeniledikten sonra uygulamanızın yeni sürümünü göreceksiniz.

c59dc1a94de3bf3c.png

5. Test kullanıcılarını uygulamanızı indirmeye davet edin

Bir test uzmanı, Ad Hoc yapıyı test etme davetini kabul ettiğinde, kendi UDID'sini paylaşmak için izin istenir. Kabul etmeleri halinde App Distribution onların cihaz bilgilerini toplar ve sizi e-posta yoluyla bilgilendirir. Bu bölümde, dağıttığınız uygulamayı indirip test etmek için kendinizi test kullanıcısı olarak ekleyeceksiniz.

Kendinizi sürüme test kullanıcısı olarak ekleyin

  1. Fastfile'ınızın üst kısmındaki firebase_app_id altında, test kullanıcılarını tutacak bir değişken oluşturun ve kendi e-posta adresinizin yanı sıra denemek istediğiniz diğer isteğe bağlı e-posta adreslerini de ekleyin.
firebase_app_id = "<your Firebase app ID>"
app_testers = [
  "your@email.com",
  "another@email.com",
]
  1. app_testers dizisini testers parametresinin beklediği gibi virgülle ayrılmış bir dizeye dönüştürmek için Ruby'nin Array#join yöntemini uygulayın. Ardından sonucu firebase_app_distribution'ın testers parametresine iletin 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

Bu noktada Fastfile'ınız şöyle görünmelidir:

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. Tekrar şeritte koşun.

$ fastlane distribute

Kulvarı çalıştırdığınızda, eklediğiniz test uzmanları App Distribution'dan kendilerine yeni kullanılabilir sürümü bildiren bir davet e-postası alacak. Artık Firebase konsolunda uygulamanızın sürümüne eklediğiniz test kullanıcılarını görebilirsiniz.

2e0fc9603b868af8.png

E-posta adresinizi eklediğiniz için Firebase App Distribution'dan sizi uygulamayı test etmeye davet eden bir e-posta alacaksınız. Artık ilk testçi sizsiniz! Test cihazınızda test kullanıcısı olarak kurulum yapmak için aşağıdaki bölüme devam edin.

Test cihazınızı kaydedin

Bir test kullanıcısı olarak, test etmeye davet edildiğiniz uygulama sürümlerine erişmek için test cihazınızda Google'da oturum açmanız gerekir. Test derlemeniz Geçici bir sürüm olduğundan, Firebase profilini yükleyerek test cihazınızı da kaydetmeniz gerekir. Daha sonra, kullanımınıza sunulan sürümlere, cihazınızın ana ekranına eklenen web klibi kullanılarak Uygulama Dağıtımı test cihazı web uygulamasından erişilebilir.

  1. iOS test cihazınızda Firebase App Distribution'dan gönderilen e-postayı açın ve Başlayın bağlantısına dokunun. Bağlantıyı Safari'de açtığınızdan emin olun.
  2. Artık Uygulama Dağıtımı test cihazı web uygulamasındasınız. Görüntülenen sayfada Google hesabınızla oturum açın ve Daveti kabul et'e dokunun.

d833407de251b89f.png

  1. Artık davet edildiğiniz yayınları görebilirsiniz. Sürümlerden birinin altında Cihazı kaydet'e dokunun.

fd141215e54a938d.png

  1. İstendiğinde Firebase profilini indirin, ardından profili Ayarlar uygulamasına yükleyin.

Profilin yüklenmesi Firebase'e aşağıdakileri yapma izni verir:

  • Cihazın benzersiz cihaz kimliğini (UDID) toplayarak test cihazını kaydedin.

Firebase, Firebase projesinin tüm Sahiplerine ve Düzenleyicilerine test cihazının UDID'sini içeren bir e-posta gönderir.

  • Test cihazının ana ekranına bir web klibi yükleyin. Web klibi, tüm test uygulamalarınızı yüklemenize ve bunlara erişmenize olanak tanıyan Uygulama Dağıtımı test cihazı web uygulamasını açar.

Uygulama Dağıtımı test cihazı web uygulamasında, test cihazınız artık uygulamanızın sürümü için kayıtlıdır.

fe93d649dfa25877.png

Artık test cihazınızın UDID'sini Firebase ile paylaştığınıza göre geliştirici olarak devam edebilirsiniz. Uygulama Dağıtımı kontrol panelinin Test Kullanıcıları sekmesinde, test kullanıcısı bilgileriniz artık uygulamanızın sürümünün altında "Kabul Edildi" durumuyla görünüyor:

7b9f665a63a384cf.png

Sonraki bölümde, cihaz UDID'sini uygulamanızın temel hazırlık profiline ekleyecek ve ardından uygulamanızın test cihazınızla çalışan bir sürümünü oluşturacaksınız.

Test cihazınızın UDID'lerini dışa aktarın

Geliştirici olarak Firebase'den test cihazının UDID'sini içeren bir e-posta alacaksınız. Bir seçenek olarak Uygulama Dağıtımı, birden fazla yeni cihaz UDID'sini doğrudan Firebase konsolundan ham metin dosyası olarak dışa aktarmanıza olanak tanıyarak aynı anda toplamayı kolaylaştırır.

  1. Tüm UDID'leri dışa aktarmak için Test Cihazları ve Gruplar sekmesini açın.

241a9936898a2fc0.png

  1. Apple UDID'lerini Dışa Aktar'ı tıklayın.

bcf0c26c522d9b4e.png

Dosya, test cihazınızın UDID'sini içermelidir.

Device ID            Device Name                            Device Platform
1234567890     udid.codelab.tester@gmail.com - iPhone SE 2nd Gen        ios

UDID'ler, bir sonraki bölümde yapacağınız fastlane kullanılarak komut satırından da dışa aktarılabilir.

6. Uygulamanızın temel hazırlık profilini güncelleyin ve yeniden oluşturun

Artık test cihazınızın UDID'sini uygulamanızın temel hazırlık profiline ekleyecek, uygulamanızın cihazınız için çalışan bir sürümünü yeniden oluşturacak ve yeni sürümü dağıtacaksınız.

UDID dışa aktarma şeridi ekle

  1. Fastfile'ınızın üst kısmına başka bir değişken ekleyin ve onu, test kullanıcılarınızın cihaz UDID'lerinin indirileceği dosya yoluna ayarlayın.
firebase_app_id = "<your Firebase app ID>"
app_testers = [
  "your@email.com",
  "another@email.com",
]
tester_udids_file = "tester_udids.txt"
  1. Tıpkı konsolda yaptığınız gibi, test cihazı UDID'lerini indirmek için Uygulama Dağıtımı eklentisinin UDID dışa aktarma eylemini kullanan yeni bir şerit oluşturun.
lane :download_udids do
    firebase_app_distribution_get_udids(
        app: firebase_app_id,
        output_file: tester_udids_file,
    )
end
  1. UDID'leri indirmek için aşağıdaki şeridi çalıştırın.

$ fastlane download_udids

  1. Test cihazı UDID'lerini içermesi gereken indirilen dosyayı yazdırın.

$ cat tester_udids.txt

Apple geliştirici konsoluna aygıt ekleme

  1. UDID'leri Apple geliştirici konsolundaki cihazlar listenize eklemek için aşağıdaki şeridi oluşturun, böylece fastlane'in register_devices eylemini kullanarak bunları temel hazırlık profilinize ekleyebilirsiniz:
lane :add_new_devices do
    register_devices(devices_file: tester_udids_file)
end
  1. Ardından şeridi çalıştırın:

$ fastlane add_new_devices

Daha sonra geliştirici konsolunuzun cihazlar listesinde yeni cihazları görmelisiniz.

Cihazları temel hazırlık profilinize ekleyin

  1. Her derleme yaptığınızda yeni cihazları almaya zorlamak için, build hattınızdaki temel hazırlık profili adımına force değişkenini ekleyin.
lane :build do
    get_certificates()
    get_provisioning_profile(adhoc: true, force: true)
    build_app(export_method: "ad-hoc")
end

Oluşturmak ve yüklemek için şeridi yeniden çalıştırın

Artık cihazları temel hazırlık profiline eklemek, uygulamayı yeniden oluşturmak ve ardından dağıtmak için distribute şeridinizi yeni şeritlerle güncelleyeceksiniz.

  1. distribute yeni şeritleri arayın:
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. distribute şeridini çalıştırın:

$ fastlane distribute

Bu noktada Fastfile'ınız şöyle görünmelidir:

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

Sürümü test cihazından indirin

Artık uygulamanız test cihazı UDID'lerini içerdiğine göre bunlar test cihazlarına yüklenebilir.

e275f73d57cc8fb1.png

  1. Test cihazınızda, e-postadaki bağlantıyı veya cihazın ana ekranındaki simgeyi kullanarak Uygulama Dağıtımı test cihazı web uygulamasına dönün.

UDID codelab uygulamasına gittiğinizde sürümün indirilmeye hazır olduğunu görebilirsiniz.

dad6d03b6ad78746.png

  1. Fiziksel bir cihaz kullanıyorsanız indir'e basın, ardından uygulamayı kurun ve çalıştırın!

7. Tebrikler

Artık yayın öncesi test sürecinizi otomatikleştirmek için Uygulama Dağıtımı'nı ve fastlane'i yapılandırdınız. Artık ek test kullanıcılarını davet etmek veya onların UDID'lerini uygulamanıza eklemek istediğinizde yalnızca tek bir komut çalıştırmanız gerekecek: fastlane distribute .

Yani artık test uzmanlarından bireysel olarak UDID toplamanıza veya cihaz listelerini güncellemek veya profilleri hazırlamak için Apple geliştirici konsoluna gitmenize gerek yok. XCode'u açmanıza bile gerek yok!

Bu iş akışının sürekli entegrasyon ortamınızda saatlik veya günlük çalışacak şekilde ayarlanması kolaydır.

daha fazla okuma