App Distribution ve fastlane ile yayın öncesi iOS derlemelerinizi daha hızlı dağıtın

1. Başlamadan önce

4cddd34bd261cea0.png

Bu codelab'de, 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 eklentisinin nasıl kullanılacağını öğreneceksiniz. Böylece, Ad Hoc derlemelerini test kullanıcılarına hızlı bir şekilde dahil edebilirsiniz. eller.

Neler öğreneceksiniz?

  • Firebase App Distribution ve Fastlane'i kullanarak yayın öncesi iOS uygulaması (Ad Hoc) test kullanıcılarına nasıl yüklenir ve dağıtılır.
  • Test kullanıcısı olarak kaydolma ve dağıtılmış uygulama bir test cihazına indirme.
  • App Distribution'ın Fastlane eklentisiyle test cihazı UDID'lerini dışa aktararak test cihazlarını hızlı bir şekilde kaydetme.
  • Uygulamanızın temel hazırlık profilini güncelleme ve dağıtım için yeniden yükleme

Gerekenler

  • Google Hesabı
  • XCode 11.7 veya sonraki sürümlerin yüklü olduğu bir Apple makinesi
  • Xcode'da yerleşik olarak bulunan, Ad Hoc yayın öncesi 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.

"İndirme" ayarının tamamlandığını doğrulayarak kurulumun çalıştığından emin olabilirsiniz. düğmesi, Uygulama Dağıtımı test kullanıcısı web uygulamasında görünür.

2. Başlayın

Fastlane ayarlayın

App Distribution, uygulamanızın yayın öncesi derlemelerini otomatik olarak dağıtmanızı sağlamak için Fastlane ile entegre olur. App Distribution, Fastlane yapılandırmanızla entegre olur.

  1. Fastlane'i yükleyip ayarlayın.
  2. Kurulum sırasında projenizin kök dizininde fastlane init komutunu çalıştırın ve "Manuel kurulum"u seçin. fastlane adında, Fastfile, Appfile ve Pluginfile içeren bir alt dizin görürsünüz. Bu alt dizinleri Fastlane'i yapılandırmak için kullanırsınız.

Firebase CLI'ı yükleme

Firebase CLI'yı da yüklemeniz gerekir. 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 program edinmek veya npm üzerinden yüklemek için yükleme talimatlarını okuyun.

KSA yüklendikten sonra firebase --version çalıştırıldığında 12.0.0 veya sonraki bir sürüm bildirilmelidir:

$ firebase --version
12.0.0

3. Uygulamanızı fastlane ile geliştirme

Uygulamanızı oluşturma

  1. ./fastlane/Appfile. öğenizde Fastlane için bazı genel değişkenler ayarlayın 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ğıdaki öğeleri ./fastlane/Fastfile sayfanıza ekleyerek uygulamanızı geliştirmek için Fastlane'in build_app işlemini (gym olarak da bilinir) kullanın:
default_platform(:ios)

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

Bu codelab'de, imzalama sertifikalarını yerel olarak oluşturan ve her şeyi macOS Anahtar Zinciri'nde depolayan 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 'i sync_code_signing action (match olarak da bilinir) kullanmanız önerilir.

lane :build do
    get_certificates()
    build_app(export_method: "ad-hoc")
end
  1. get_provisioning_profile işlemini (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 Apple geliştirici konsolunda uygulamanızı oluşturmak için aşağıdaki komutu çalıştırın:

$ fastlane produce --skip_itc

  1. Son olarak, hattı çalıştırarak uygulamanızı geliştirin.

Apple kimliğiniz, şifreniz (Keychain'inizde saklanır) ve uygulamanızın paket kimliği istenir.

$ fastlane build

Herhangi bir sorunla karşılaşırsanız lütfen Fastlane sorun giderme kılavuzuna göz atın.

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

Uygulamanızı oluşturduğunuza göre artık App Distribution'a yüklemeye hazırsınız.

Firebase projesi oluşturma ve ayarlama

  1. Firebase'de oturum açın.
  2. Firebase konsolunda yeni bir proje oluşturun veya ekleyin, ardından projenizi "UDID Export Codelab" olarak adlandırın.

Bu proje için Google Analytics'i etkinleştirmeniz gerekmez.

  1. Create project (Proje oluştur) seçeneğini 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 Konsola devam et'i tıklayın. SDK'ları uygulamanıza daha sonra ekleyeceksiniz.

Projenize ve uygulamanıza artık Projeye Genel Bakış sayfasından ulaşabilirsiniz.

66f79cc8a97fa8e9.png

App Distribution'ı etkinleştirin

  1. Yayının Altında ve Monitor bölümünde App Distribution'ı (Uygulama Dağıtımı) tıklayın.
  2. Şartları kabul ettikten sonra "Başlayın"ı tıklayın ve uygulamanızda App Distribution'ı etkinleştirin.

460213326c2784ae.png

Fastlane'de dağıtım ayarlamak

  1. App Distribution'ı Fastlane yapılandırmanıza eklemek için iOS projenizin kök düzeyinde aşağıdaki komutu çalıştırın.

Komutta bir seçenek gösteriliyorsa 3. Seçenek: RubyGems.org'u seçin:

$ fastlane add_plugin firebase_app_distribution

  1. Eklentinin yüklü olduğunu onaylayın:

$ fastlane

Çıkış, yüklü eklentiler listesinde fastlane-plugin-firebase_app_distribution değerini göstermelidir.

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

Firebase projenizin kimliğini doğrulama

Fastlane eklentisini kullanmak için önce Firebase projenizin kimliğini doğrulamanız gerekir.

  1. KSA'yı 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ğıtma

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

  1. ./fastlane/Fastfile öğesinin üst kısmında firebase_app_id adlı bir değişken tanımlayın. <your_app_id> değerini, oluşturduğunuz uygulamanın Firebase Uygulama Kimliği ile değiştirin (Bu bilgiyi proje ayarları sayfasında bulabilirsiniz).

Fastfile, Ruby'de yazıldığından değişkenleri tanımlamak için Ruby söz dizimini kullanın.

firebase_app_id = "<your_app_id>"
  1. Derleme yolunu çağıran ve ardından firebase_app_distribution işlemini kullanarak uygulamanızı dağıtan distribute adlı 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ı ve dağıtım oluşturmak için yeni şeridi çalıştırın.

$ fastlane distribute

Bu noktada Fastfile'ınız şu şekilde 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örürsünüz.

c59dc1a94de3bf3c.png

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

Bir test kullanıcısı, Ad Hoc derlemesini test etme davetini kabul ettiğinde UDID'sini paylaşmak için izin istenir. Kullanıcı kabul ederse App Distribution cihaz bilgilerini toplar ve sizi e-postayla 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 bölümünde, test kullanıcılarını içerecek bir değişken oluşturup kendi e-posta adresinizi ve denemek istediğiniz diğer e-posta adreslerini ekleyin.
firebase_app_id = "<your Firebase app ID>"
app_testers = [
  "your@email.com",
  "another@email.com",
]
  1. app_testers dizisini, testers parametresinin beklediği, 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. işlevinin testers parametresine iletin.
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 şu şekilde 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. Şeridi tekrar çalıştırın.

$ fastlane distribute

Kulvarda ilerledikten sonra, eklediğiniz test kullanıcıları App Distribution'dan yeni sürümü bildiren bir davet e-postası alır. Firebase konsolunda artık uygulama sürümünüzün altında 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 alırsınız. Artık ilk test kullanıcısısınız! Test cihazınızda test kullanıcısı olarak kurmak için aşağıdaki bölüme devam edin.

Test cihazınızı kaydettirme

Test kullanıcısı olarak, test etmeye davet edildiğiniz uygulama sürümlerine erişmek için test cihazınızdan 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, kullanabileceğiniz sürümlere App Distribution test kullanıcısı web uygulamasından, cihazınızın ana ekranına eklenen web klibi aracılığıyla erişebilirsiniz.

  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 kullanıcısı 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. Davet edildiğiniz yayınları artık görebilirsiniz. Sürümlerden birinin altında Cihazı kaydet'e dokunun.

fd141215e54a938d.png

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

Profilin yüklenmesi, Firebase'e şunları 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 kullanıcısı web uygulamasını açar.

App Distribution test kullanıcısı web uygulamasında test cihazınız artık uygulamanızın sürümü için kaydedildi.

fe93d649dfa25877.png

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

7b9f665a63a384cf.png

Bir 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 kullanıcısı cihazınızın UDID'lerini dışa aktarma

Geliştirici olarak, Firebase'den test cihazının UDID'sini içeren bir e-posta alırsınız. App Distribution, birden fazla yeni cihaz UDID'sini ham metin dosyası olarak doğrudan Firebase konsolundan dışa aktarmanıza olanak tanıyarak aynı anda birden fazla cihaz UDID'si toplamayı kolaylaştırır.

  1. Tüm UDID'leri dışa aktarmak için Test kullanıcıları ve Gruplar sekmesi.

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üncelleyip yeniden oluşturun

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

UDID dışa aktarma şeri ekle

  1. Fastfile'ınızın üst kısmına başka bir değişken ekleyin ve bunu test kullanıcılarınızın bulunduğu dosya yoluna ayarlayın. cihaz UDID'leri indirilecek.
firebase_app_id = "<your Firebase app ID>"
app_testers = [
  "your@email.com",
  "another@email.com",
]
tester_udids_file = "tester_udids.txt"
  1. Konsoldan yaptığınız gibi, test kullanıcısı UDID'lerini indirmek için App Distribution eklentisinin UDID dışa aktarma işlemini 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. İndirilen dosyayı yazdırın. Bu dosya, test cihazı UDID'lerini içermelidir.

$ cat tester_udids.txt

Cihazları Apple Developer Console'a ekleme

  1. UDID'leri Apple Developer Console'daki cihazlar listenize eklemek için aşağıdaki şeridi oluşturun. Böylece Fastlane'in register_devices işlemini kullanarak bu cihazları temel hazırlık profilinize ekleyebilirsiniz:
lane :add_new_devices do
    register_devices(devices_file: tester_udids_file)
end
  1. Sonra şeridi çalıştırın:

$ fastlane add_new_devices

Ardından yeni cihazları geliştirici konsolunuzun cihaz listesinde görürsünüz.

Temel hazırlık profilinize cihaz ekleme

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

Yolu derleme ve yükleme için yeniden kullanın

Şimdi, cihazları temel hazırlık profiline eklemek, uygulamayı yeniden derleyip dağıtmak için distribute şeridinizi yeni şeritlerle güncelleyeceksiniz.

  1. distribute konumundan 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 şu şekilde 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 indirme

Uygulamanız artık test cihazı UDID'lerini içerdiğine göre 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 App Distribution test kullanıcısı web uygulamasına dönün.

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

baba6d03b6ad78746.png

  1. Fiziksel bir cihaz kullanıyorsanız indir'e basın, ardından uygulamayı yükleyip çalıştırın.

7. Tebrikler

App Distribution'ı ve Fastlane'i, yayın öncesi test sürecinizi otomatik hâle getirecek şekilde yapılandırdınız. Artık başka test kullanıcılarını davet etmek veya bunların UDID'lerini uygulamanıza eklemek istediğinizde tek bir komut çalıştırmanız yeterli olur: fastlane distribute.

Artık test kullanıcılarından UDID'leri tek tek toplamanız veya cihaz listelerini ya da temel hazırlık profillerini güncellemek için Apple Developer Console'a gitmeniz gerekmez. XCode'u açmanıza bile gerek yok.

Bu iş akışını, sürekli entegrasyon ortamınızda saatlik veya günlük çalışacak şekilde kolayca ayarlayabilirsiniz.

Daha fazla bilgi