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

Koleksiyonlar ile düzeninizi koruyun İçeriği tercihlerinize göre kaydedin ve kategorilere ayırın.

1. Başlamadan önce

4cddd34bd261cea0.png

Bu kod laboratuvarında, 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 onun fastlane eklentisini nasıl kullanacağınızı öğreneceksiniz. ' eller.

ne öğreneceksin

  • Firebase App Distribution ve fastlane kullanan test kullanıcılarına yayın öncesi bir iOS uygulaması (Geçici) nasıl yüklenir ve dağıtılır.
  • Bir test cihazı olarak nasıl kayıt olunur ve dağıtılmış uygulama bir test cihazına nasıl indirilir.
  • App Distribution'ın fastlane eklentisi ile test cihazı UDID'lerini dışa aktararak test cihazları nasıl hızlı bir şekilde kaydedilir.
  • Uygulamanızın temel hazırlık profili nasıl güncellenir ve dağıtım için yeniden yüklenir.

Neye ihtiyacın olacak

  • bir Google hesabı
  • XCode 11.7+ yüklü bir Apple makinesi
  • Xcode'da yerleşik bir Ad Hoc yayın öncesi iOS uygulaması
  • Ücretli bir Apple Developer hesabı
  • Test için fiziksel bir iOS cihazı.

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

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

2. Başlayın

hızlı şeridi ayarla

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

  1. Fastlane'i kurun ve kurun .
  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 bir Fastfile , Appfile ve fastlane içeren Pluginfile adlı bir alt dizin göreceksiniz.

3. Fastlane ile uygulamanızı oluşturun

Uygulamanızı oluşturun

  1. ./fastlane/Appfile dosyanızda ./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 kulvarınızı oluşturun ve aşağıdakileri ./fastlane/Fastfile 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. Uygulamanızı dağıtım için imzalayın.

Bu kod laboratuvarı için, yerel olarak imzalama sertifikaları oluşturan ve her şeyi macOS Anahtar get_certificates ( cert olarak da bilinir) kullanarak kendi sertifikanızı ve profilinizi yöneteceksiniz. Ancak tipik olarak, 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 isteyeceksiniz.

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 ön hazırlık profili ayarlayın. Bu, uygulamanızı test kullanıcıları ile 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.

Apple Kimliğiniz, parolanız (Anahtar Zincirinizde 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 bakın.

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

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

Bir Firebase projesi oluşturun ve kurun

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

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

  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 öğesini tıklayın. Uygulamanıza daha sonra SDK'lar ekleyeceksiniz.

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

66f79cc8a97fa8e9.png

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

  1. Yayınla ve İzle bölümünün altında, Uygulama Dağıtımı'nı tıklayın.
  2. Koşulları 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 bir dağıtım kurun

  1. Fastlane yapılandırmanıza App Distribution 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: RubyGems.org'u seçin:

$ fastlane add_plugin firebase_app_distribution

  1. Eklentinin kurulu olduğunu onaylayın:

$ fastlane

Çıktı, kurulu 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 önce Firebase projenizin kimliğini doğrulayacaksınız.

  1. Aşağıdaki komutu çalıştırın:

$ fastlane run firebase_app_distribution_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.

Ortaya çıkan kodu oturum açma tarayıcısından kopyalayın ve komut satırına yapıştırın.

  1. Daha sonra oturum açma eylemi, App Distribution eklentisinin Firebase ile kimlik doğrulaması yapmak için kullandığı bir yenileme belirteci yazdırır:

dbd61c40c4131158.png

  1. FIREBASE_TOKEN ortam değişkenini ayarlayarak belirteci iletin:

$ export FIREBASE_TOKEN= <token>

Uygulamanızı dağıtın

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

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

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

firebase_app_id = "<your_app_id>"
  1. Derleme şeridini çağıran distribute adında yeni bir şerit ekleyin ve ardından uygulamanızı firebase_app_distribution eylemini kullanarak dağıtın.
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 dosyanı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 kullanıcısı bir Ad Hoc yapıyı test etmek için bir daveti kabul ettiğinde, UDID'lerini paylaşmak için izin istenir. Kabul ederlerse, App Distribution 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 dosyanızın üst kısmındaki firebase_app_id altında, testçileri tutmak için bir değişken oluşturun ve kendi e-posta adresinizi ve denemek istediğiniz diğer isteğe bağlı 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. 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 dosyanı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. Şeritte tekrar çalıştırın.

$ fastlane distribute

Yolu çalıştırdığınızda, eklediğiniz test kullanıcıları, App Distribution'dan kendilerine yeni mevcut sürüm hakkında bilgi veren bir davet e-postası alacaklardır. Firebase konsolunda, uygulamanızın sürümüne eklediğiniz test kullanıcılarını artık 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 kullanıcısısınız! Test cihazınızda test cihazı olarak kurulum yapmak için aşağıdaki bölüme devam edin.

Test cihazınızı kaydedin

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 bir Ad Hoc sürümü olduğundan, Firebase profilini yükleyerek test cihazınızı da kaydetmeniz gerekir. Daha sonra, size sunulan sürümlere, cihazınızın ana ekranına eklenen web klibi kullanılarak App Distribution tester 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 App Distribution tester 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ında yükleyin.

Profili yüklemek, Firebase'e şunlar için izin 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 erişmenize olanak tanıyan App Distribution tester web uygulamasını açar.

App Distribution test cihazı web uygulamasında, test cihazınız artık uygulamanızın piyasaya sürülmesi için kayıtlıdır.

fe93d649dfa25877.png

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

7b9f665a63a384cf.png

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

Test cihazı UDID'lerinizi 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ı, bunları doğrudan Firebase konsolundan ham metin dosyası olarak dışa aktarmanıza izin vererek birden fazla yeni cihaz UDID'sini tek seferde toplamayı kolaylaştırır.

  1. Tüm UDID'leri dışa aktarmak için Test Ediciler 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 ayrıca bir sonraki bölümde yapacağınız fastlane kullanılarak komut satırından dışa aktarılabilir.

6. Uygulamanızın ön hazırlık profilini güncelleyin ve 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ı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 dosyanızın üstüne başka bir değişken ekleyin ve bunu testçilerinizin cihaz UDID'lerinin indirileceği bir 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ı 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. Test cihazı UDID'lerini içermesi gereken indirilen dosyayı yazdırın.

$ cat tester_udids.txt

Apple geliştirici konsoluna bir dd cihazları

  1. UDID'leri Apple geliştirici konsolundaki cihazlar listenize eklemek için aşağıdaki şeridi oluşturun, böylece onları fastlane'in register_devices eylemini kullanarak ön 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

Ardından, geliştirici konsolunuzun cihazlar listesinde yeni cihazları görmelisiniz.

Temel hazırlık profilinize cihazlar ekleyin

  1. Her derleme yaptığınızda yeni aygıtları almaya zorlamak için, force bağımsız değişkenini build şeridinizdeki ön 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

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

Şimdi, cihazları ön 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 dosyanı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 App Distribution 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.

baba6d03b6ad78746.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 hızlı şeridi yapılandırdınız. Artık, ek test kullanıcıları davet etmek veya uygulamanıza UDID'lerini eklemek istediğinizde, yalnızca bir komut çalıştırmanız gerekecek: fastlane distribute dağıt .

Bu nedenle, artık test kullanıcılarından tek tek UDID toplamaya veya cihaz listelerini güncellemek veya profilleri hazırlamaya yönelik Apple geliştirici konsoluna gitmeye 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