1. Başlamadan önce
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 bir yayın öncesi iOS uygulamasını (Ad Hoc) test kullanıcılarına yükleme ve dağıtma.
- Bir test cihazı olarak kaydolma ve dağıtılan uygulamayı 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.
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ı kod laboratuvarının çoğu için çalışır, ancak simülatörler sürümleri indiremez.
App Distribution 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.
- Fastlane'i kurun ve kurun .
- 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ızFastfile
,Appfile
vePluginfile
içerenfastlane
adında bir alt dizin göreceksiniz.
Firebase CLI'yi kurun
Firebase CLI'yi de kurmanız gerekecek. 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 edinmek veya npm
yoluyla yüklemek için kurulum talimatlarını okuyun.
CLI'yi yükledikten sonra, firebase --version
çalıştırıldığında 12.0.0
veya daha yüksek bir sürüm bildirilmelidir:
$ firebase --version 12.0.0
3. Uygulamanızı fastlane ile oluşturun
Uygulamanızı oluşturun
- ./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>")
- İlk kulvarınızı oluşturun ve fastlane'in
build_app
eylemini (gym
olarak da bilinir) kullanarak uygulamanızı./fastlane/Fastfile
dosyanıza ekleyerek oluşturun:
default_platform(:ios)
lane :build do
build_app(export_method: "ad-hoc")
end
- 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 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 sync_code_signing action
( match
olarak da bilinir) kullanmak isteyeceksiniz.
lane :build do
get_certificates()
build_app(export_method: "ad-hoc")
end
-
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
- [İ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
- Son olarak, şeridi çalıştırarak uygulamanızı oluşturun.
Sizden Apple Kimliğiniz, parolanız (Anahtar Zincirinizde saklanır) 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 App Distribution'a yüklemeye hazırsınız.
Bir Firebase projesi oluşturun ve kurun
- Firebase'de oturum açın.
- Firebase konsolunda yeni bir proje oluşturun veya ekleyin ve ardından projenizi "UDID Export Codelab" olarak adlandırın.
Bu proje için Google Analytics'i etkinleştirmeniz gerekmez.
- Proje oluştur'u tıklayın.
iOS uygulamanızı projeye ekleyin
- Yeni bir Firebase iOS uygulaması oluşturmak için iOS simgesini tıklayın ve uygulamanızın paket kimliğini girin.
- Sonraki birkaç adımı atlayın, ardından Konsola Devam Et'i tıklayın. SDK'ları uygulamanıza daha sonra ekleyeceksiniz.
Projeniz ve uygulamanız artık Projeye Genel Bakış sayfasında mevcuttur.
Uygulama Dağıtımını Etkinleştir
- Yayınla ve İzle bölümünün altında, Uygulama Dağıtımı 'nı tıklayın.
- Şartları kabul ettikten sonra, uygulamanız için Uygulama Dağıtımını etkinleştirmek üzere "Başlayın"ı tıklayın.
Fastlane'de bir dağıtım kurun
- Uygulama Dağıtımını fastlane yapılandırmanıza eklemek için iOS projenizin kökünden aşağıdaki komutu çalıştırın.
Komut size bir seçenek sorarsa Seçenek 3'ü seçin: RubyGems.org :
$ fastlane add_plugin firebase_app_distribution
- Eklentinin kurulu olduğunu onaylayın:
$ fastlane
Çıktı, kurulu eklentiler listesinde fastlane-plugin-firebase_app_distribution
göstermelidir.
- Eklentinin kurulduğunu onayladıktan sonra, iptal etmek için 0 seçeneğini belirleyin.
Firebase projenizin kimliğini doğrulayın
Fastlane eklentisini kullanmak için önce Firebase projenizin kimliğini doğrulamanız gerekir.
- CLI'yi Google hesabınıza bağlamak için aşağıdaki komutu çalıştırın:
$ firebase login
- Komut bir kimlik doğrulama bağlantısı yazdırdığında, bağlantıyı bir tarayıcıda açın.
- İ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.
-
./fastlane/Fastfile
dosyanızın en üstünde,firebase_app_id
adında bir değişken tanımlayın.<your_app_id>
öğesini, oluşturduğunuz uygulama için Firebase Uygulama Kimliği ile 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>"
- Derleme şeridini çağıran ve ardından
firebase_app_distribution
eylemini 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
- Uygulamanızı oluşturmak ve bir dağıtım oluşturmak için yeni şeridi çalıştırın.
$ fastlane distribute
Bu noktada, Fastfile'niz 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.
5. Test kullanıcılarını uygulamanızı indirmeye davet edin
Bir test kullanıcısı, bir Ad Hoc yapıyı test etme davetini kabul ettiğinde, kendilerinden UDID'lerini paylaşma izni istenir. Kabul ederlerse, App Distribution onların cihaz bilgilerini toplar ve size e-posta yoluyla bildirir. Bu bölümde, dağıtımını yaptığınız uygulamayı indirmek ve test etmek için kendinizi test kullanıcısı olarak ekleyeceksiniz.
Sürüme test kullanıcısı olarak kendinizi ekleyin
- Fastfile dosyanızın üst kısmındaki
firebase_app_id
altında, test kullanıcılarını tutmak için 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 ekleyin.
firebase_app_id = "<your Firebase app ID>"
app_testers = [
"your@email.com",
"another@email.com",
]
-
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'ıntesters
parametresine iletinfirebase_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'niz şö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
- Şeridi tekrar çalıştırın.
$ fastlane distribute
Kulvarı çalıştırdıktan sonra, eklediğiniz test kullanıcıları App Distribution'dan kendilerine yeni çıkan sürümü bildiren bir davet e-postası alacak. Firebase konsolunda, uygulamanızın sürümü kapsamında eklediğiniz test kullanıcılarını artık görebilirsiniz.
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 cihazı 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 Ad Hoc sürüm olduğundan, Firebase profilini yükleyerek test cihazınızı da kaydetmeniz gerekir. Ardından, kullanımınıza sunulan sürümlere, cihazınızın ana ekranına eklenen web klibini kullanarak App Distribution test cihazı web uygulamasından erişebilirsiniz.
- 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.
- Artık App Distribution tester web uygulamasındasınız. Görünen sayfada, Google hesabınızla oturum açın ve Davetiyeyi kabul et'e dokunun.
- Artık davet edildiğiniz yayınları görebilirsiniz. Sürümlerden birinin altındaki Cihazı kaydet'e dokunun.
- İstendiğinde Firebase profilini indirin, ardından profili Ayarlar uygulamasında yükleyin.
Profili yüklemek, Firebase'e şu izinleri 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 yayınlanması için kaydedilmiştir.
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 uygulamanızın sürümünün altında "Kabul Edildi" durumunda görünür:
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 cihazı 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 bir ham metin dosyası olarak dışa aktarmanıza izin vererek aynı anda toplamayı kolaylaştırır.
- Tüm UDID'leri dışa aktarmak için Test Cihazları ve Gruplar sekmesini açın.
- Apple UDID'lerini Dışa Aktar'ı tıklayın.
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
Ş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
- Fastfile dosyanızın üstüne başka bir değişken ekleyin ve onu, test kullanıcılarınızın 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"
- Tıpkı konsoldan yaptığınız gibi, test cihazı UDID'lerini indirmek için App Distribution 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
- UDID'leri indirmek için aşağıdaki şeridi çalıştırın.
$ fastlane download_udids
- Test cihazı UDID'lerini içermesi gereken indirilen dosyayı yazdırın.
$ cat tester_udids.txt
Apple geliştirici konsoluna aygıt ekleme
- UDID'leri Apple geliştirici konsolundaki cihazlar listenize eklemek için aşağıdaki şeridi oluşturun, böylece bunları fastlane'in
register_devices
eylemini kullanarak temel hazırlık profilinize ekleyebilirsiniz:
lane :add_new_devices do
register_devices(devices_file: tester_udids_file)
end
- 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 aygıt ekleyin
- Her derleme yaptığınızda yeni aygıtları almaya zorlamak için,
build
şeridinizdeki temel hazırlık profili adımınaforce
bağımsız değişkenini ekleyin.
lane :build do
get_certificates()
get_provisioning_profile(adhoc: true, force: true)
build_app(export_method: "ad-hoc")
end
İnşa etmek ve yüklemek için şeridi yeniden çalıştırın
Şimdi, cihazları sağlama profiline eklemek, uygulamayı yeniden oluşturmak ve ardından dağıtmak için distribute
şeridinizi yeni şeritlerle güncelleyeceksiniz.
-
distribute
öğesinden 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
-
distribute
şeridini çalıştırın:
$ fastlane distribute
Bu noktada, Fastfile'niz şö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.
- 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.
- 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 App Distribution ve fastlane'i yapılandırdınız. Artık, ek test kullanıcılarını davet etmek veya UDID'lerini uygulamanıza eklemek istediğinizde, tek bir komut çalıştırmanız gerekecek: fastlane distribute
.
Bu nedenle, artık test edicilerden UDID'leri tek tek 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 olarak çalıştırılması kolaydır.
daha fazla okuma
- iOS için uygulama içi SDK'mız da dahil olmak üzere Firebase App Distribution'ın özelliklerini keşfedin
- Fastlane hakkında daha fazla bilgi edinin
-
match
ile takımınızın kod imzalamasını yönetin - Fastlane'i CI'nize entegre edin