DEV Community

Cover image for Codemagic CLI araçlarıyla build arşiv oluşturma
Gülsen Keskin
Gülsen Keskin

Posted on

Codemagic CLI araçlarıyla build arşiv oluşturma

Codemagic CLI araçlarıyla build arşiv oluşturmak için:

Bu adım, bir build arşiv oluşturmayı ve Flutter proje dizinindeki bir terminalde yürütülen Flutter derleme komutlarını ve Codemagic CLI Araçlarını kullanarak derlemenizi App Store Connect'e yüklemeyi kapsar. Bu, login keychain'den izole edilmiş geçici bir keychain'le dağıtım sertifikalarının (distribution certificates) tam denetimine sahip bir build arşivi oluşturmanıza olanak tanır.

1) Codemagic CLI araçlarını kurun:
pip3 install codemagic-cli-tools

2) App Store Connect ile işlemleri otomatikleştirmek için App Manager erişimi olan bir App Store Connect API Key oluşturmanız gerekir. Sonraki komutları daha kısa hale getirmek için new key'den şu ortam değişkenlerini ayarlayın: issuer id, key id, and API key file.

export APP_STORE_CONNECT_ISSUER_ID=aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee
export APP_STORE_CONNECT_KEY_IDENTIFIER=ABC1234567
export APP_STORE_CONNECT_PRIVATE_KEY=`cat /path/to/api/key/AuthKey_XXXYYYZZZ.p8`
Enter fullscreen mode Exit fullscreen mode

3) Bir build arşivini kodlamak ve paketlemek için bir iOS Distribution sertifikasını export etmeniz veya oluşturmanız gerekir.

Mevcut sertifikalarınız varsa, her sertifika için aşağıdaki komutu yürüterek private key'i export edebilirsiniz:

openssl pkcs12 -in <certificate_name>.p12 -nodes -nocerts | openssl rsa -out cert_key
Enter fullscreen mode Exit fullscreen mode

Veya aşağıdaki komutu uygulayarak yeni bir private key oluşturabilirsiniz:

ssh-keygen -t rsa -b 2048 -m PEM -f cert_key -q -N ""

Daha sonra, CLI araçlarının private keyden otomatik olarak yeni bir iOS Dağıtımı oluşturmasını sağlayabilirsiniz.

4) Kod imzalama için kullanılacak yeni bir geçici keychain ayarlayın:
keychain initialize

daha sonra bunu çalıştırın:
keychain use-login

Bu, makinenizdeki uygulamalarla ilgili olası kimlik doğrulama sorunlarını önlemek için login keychain'inizi (oturum açma anahtar zincirinizi) varsayılan olarak ayarlar.

5) App Store Connect'ten kod imzalama dosyalarını alın:


app-store-connect fetch-signing-files $(xcode-project detect-bundle-id) \
    --platform IOS \
    --type IOS_APP_STORE \
    --certificate-key=@file:/path/to/cert_key \
    --create
Enter fullscreen mode Exit fullscreen mode

Burada cert_key, export edilen iOS Distribution certificate private key veya otomatik olarak yeni bir sertifika oluşturan yeni bir private keydir.Sertifika, App Store Connect'te yoksa özel anahtardan oluşturulacaktır.

6) Alınan sertifikaları keychain'ize ekleyin:

keychain add-certificates

7) Getirilen kod imzalama profillerini kullanmak için Xcode proje ayarlarını güncelleyin:
xcode-project use-profiles

8) Flutter bağımlılıklarını yükleyin:
flutter packages pub get

9) CocoaPods bağımlılıklarını yükleyin:

find . -name "Podfile" -execdir pod install \;

10) Flutter'ı iOS projesini oluşturun:

flutter build ipa --release \
    --export-options-plist=$HOME/export_options.plist
Enter fullscreen mode Exit fullscreen mode

export_options.plist öğesinin xcode-project use-profiles komutunun çıktısı olduğunu unutmayın.

11) Uygulamayı App Store Connect'te yayınlayın:

app-store-connect publish \
    --path $(find $(pwd) -name "*.ipa")
Enter fullscreen mode Exit fullscreen mode

12) Daha önce de belirtildiği gibi, makinenizdeki uygulamalarla ilgili kimlik doğrulama sorunlarını önlemek için login keychain'inizi (oturum açma anahtar zincirinizi) default olarak ayarlamayı unutmayın:
keychain use-login

30 dakika içinde, yapınızın doğrulandığını ve TestFlight'ta test kullanıcılarına sunulmaya hazır olduğunu bildiren bir e-posta alacaksınız. Bu noktada, TestFlight'ta yayınlamayı veya devam edip uygulamanızı App Store'da yayınlamayı seçebilirsiniz.

Top comments (0)