Pengiriman Terus-menerus untuk iOS menggunakan Codemagic
Persyaratan
Sebelum melanjutkan dengan tutorial…
- Anggota program pengembang iOS.
- Ingin membaca 😆…
Penting tentang harga

Jasa ini adalah ‘gratis’ sampai 500 menit macOS M1 / bulan, tergantung pada mesin yang dipilih.
Kami akan menggunakan macOS M1 mesin, Anda dapat melihat harga dan batasan (harga pada saat pembuatan tutorial, mereka mungkin mengalami perubahan di masa depan)
🔴 Setelah Anda diingatkan tentang persyaratan dan harga, jika Anda suka, kita melanjutkan…
📣 Dalam postingan ini kita asumsikan bahwa kita telah memiliki aplikasi yang dibuat di iTunes connect, kita memiliki sertifikat dari ekosistem Apple, semua akan diatur oleh Codemagic!
Mari kita mulai menjelajahi!
Langkah-langkah yang perlu diikuti dalam postingan ini
- Menggunakan App Store Connect API dengan Codemagic
- Persyaratan
- Membuat Kunci App Store Connect API
- Menggunakan Kunci App Store Connect API
- Salin File Fastlane
- Konfigurasi Codemagic
1. Menggunakan App Store Connect API dengan Codemagic
Mulai Februari 2021, verifikasi dua faktor atau verifikasi dua langkah diperlukan untuk semua pengguna untuk masuk ke App Store Connect. Layer keamanan tambahan untuk ID Apple Anda membantu memastikan bahwa Anda adalah satu-satunya orang yang dapat mengakses akun Anda.
Dari Dukungan Apple
Mengawali dengan match memerlukan Anda untuk membatalkan sertifikat yang ada. Tapi jangan khawatir, Anda akan mendapatkan yang baru secara langsung.
Persyaratan
Untuk dapat menggunakan App Store Connect API, Codemagic memerlukan tiga hal.
- ID Issuer.
- ID Kunci.
- File kunci atau Konten Kunci.
Membuat Kunci App Store Connect API
Untuk menghasilkan kunci, Anda harus memiliki izin Admin di App Store Connect. Jika Anda tidak memiliki izin tersebut, Anda dapat mengarahkan orang yang relevan ke artikel ini dan mengikuti instruksi yang berikut.
1 — Masuk ke App Store Connect.
2 — Pilih Pengguna dan Akses.

3 — Pilih tab Kunci API.

4 — Klik Generate API Key atau tombol (+) Tambah.

5 — Masukkan nama untuk kunci dan pilih tingkat akses. Kami merekomendasikan memilih App Manager Hak akses, baca lebih lanjut tentang peran hak akses Apple Developer Program di sini

6 — Klik Generate.
Hak akses kunci API tidak dapat dibatasi pada aplikasi tertentu.
Informasi nama kunci, ID kunci, tautan download, dan informasi lainnya muncul di halaman.

Ambil semua informasi yang diperlukan di sini:
1> ID Masalah.
2> ID Kunci.
<3> Click “Download API Key” to download your API private key. The download link appears only if the private key has not yet been downloaded. Apple does not keep a copy of the private key. So, you can download it only once.
🔴 Simpan kunci pribadi Anda di tempat yang aman. Anda tidak boleh berbagi kunci, simpan kunci di code repository, atau termasuk kunci di sisi klien code.
Menambahkan kunci App Store Connect API ke Codemagic
-
Buka pengaturan tim Codemagic Anda,
Pilih identitas tanda tangan code
Dan unggah sertifikat.

-
Klik tombol Tambah kunci Tombol.
-
Masukkan
App Store Connect API key name. Ini adalah nama yang dapat dibaca manusia untuk kunci yang akan digunakan untuk mengacu ke kunci kemudian dalam pengaturan aplikasi. -
Masukkan
Issuer IDdanKey IDnilai-nilai. -
Klik pada Pilih file .p8 atau drag file ke unggah kunci App Store Connect API yang telah diunduh sebelumnya.
-
Klik Simpan.
Sekarang kita bisa mengelola Codemagic dengan menggunakan kunci App Store Connect API, hebat!
2. Buat sertifikat dan profil pengaturan
Sertifikat
Buka XCode dan pilih menu Pengaturan > Akun > ID Apple > Tim dan pilih tim Anda.

Klik pada Kelola sertifikat > + dan pilih Distribusi Apple.

Lalu Anda dapat membuat sertifikat baru.
Lalu Anda perlu pergi ke keychain untuk mengunduh sertifikat sebagai .p12 file.
Untuk melakukan itu, Anda perlu pergi ke keychain, beralih ke keychain login dan kemudian tab Sertifikat Saya.

Lalu Anda dapat memilih sertifikat yang ingin Anda download. (Cari berdasarkan tanggal sertifikat)
Dan kemudian klik kanan pada sertifikat dan pilih Export.
Pilih format file Informasi Pribadi (Personal Information Exchange (.p12)).
Itu akan mengunduh sertifikat sebagai sebuah .p12 file.
Profil pengaturan
Buka Pengembang Apple dan pilih tim yang tepat.
Lalu buat profil baru, dengan mengklik pada +

Dan pilih App Store Connect.

Lalu Anda perlu memilih aplikasi yang tepat, berhati-hati Anda tidak bisa menggunakan wildcard lainnya, karena signing akan gagal.

Pilih sertifikat yang tepat yang telah Anda buat sebelumnya (carilah tanggal kadaluarsa, harus sama hari dan bulan dengan hari ini) dan klik pada Lanjutkan.

Akhirnya, masukkan nama profil dan klik pada Buat.
Nama tersebut akan digunakan untuk mengidentifikasi profil di Codemagic.

Anda dapat mengunduh profil sebagai .mobileprovision file.

Menambahkan sertifikat tanda tangan Code
Codemagic memungkinkan Anda untuk mengunggah sertifikat code tanda tangan sebagai arsip PKCS#12 yang berisi baik sertifikat dan kunci pribadi yang diperlukan untuk menggunakan itu. Ketika mengunggah, Codemagic akan meminta Anda untuk menyediakan kata sandi sertifikat (jika sertifikat dilindungi kata sandi) bersama dengan nama unik Nama Referensi, yang dapat digunakan kemudian dalam codemagic.yaml konfigurasi untuk mengambil file yang spesifik.
- Unggah Sertifikat
- Buat Sertifikat Baru
- Ambil dari Portal Pengembang
- Buka pengaturan tim Codemagic Anda, pergi ke pengaturan codemagic.yaml > Code identitas tanda tangan.
- Buka Sertifikat iOS tab.
- Upload sertifikat file dengan mengklik pada Pilih file .p12 atau .pem atau dengan menariknya ke dalam frame yang ditunjuk.
- Masukkan Kata sandi sertifikat dan pilih Nama referensi.
- Klik Tambah sertifikat
Mengambahkan profil pengaturan
Codemagic memungkinkan Anda untuk mengunggah profil pengaturan untuk digunakan pada aplikasi atau untuk mengambil profil dari Portal Pengembang Apple.
The profile’s type, team, bundle id, and expiration date are displayed for each profile added to Code signing identities. Furthermore, Codemagic will let you know whether a matching code signing certificate is available in Code signing identities (a green checkmark in the Selain itu, Codemagic akan memberitahu Anda apakah ada sertifikat tanda tangan __CAPGO_KEEP_1__ yang sesuai tersedia di identitas tanda tangan __CAPGO_KEEP_2__ (tanda centang hijau di bidang) 3. Konfigurasi Codemagic
Konfigurasi Rahasia Codemagic
Pernahkah Anda bertanya-tanya dari mana nilai-nilai
berasal? Nah, itu bukan rahasia lagi – itu dari rahasia proyek Anda. ENV 4. Konfigurasi File Alur Codemagic
Buat file bernama
di root proyek Anda dan tambahkan kode berikut. codemagic.yml Alur ini harus diaktifkan secara manual atau setelah setiap __CAPGO_KEEP_0__
workflows:
ionic-capacitor-ios-workflow:
name: Capacitor iOS Workflow
max_build_duration: 120
instance_type: mac_mini_m1
integrations:
app_store_connect: CodeMagic
environment:
ios_signing:
distribution_type: app_store
bundle_identifier: YOUR_BUNDLE_IDENTIFIER
vars:
XCODE_WORKSPACE: ios/App/App.xcworkspace
XCODE_SCHEME: App
APP_STORE_APP_ID: YOUR_APP_STORE_APP_ID
node: v20.14.0
xcode: 15.4
cocoapods: default
triggering:
events:
- tag
tag_patterns:
- pattern: '*'
include: true
scripts:
- name: Install dependencies
script: |
npm install
- name: Cocoapods installation
script: |
cd ios/App && pod install
- name: Update dependencies and copy web assets to native project
script: |
npm run build
npx cap sync ios
- name: Set up code signing settings on Xcode project
script: |
xcode-project use-profiles
- name: Increment build number
script: |
cd $CM_BUILD_DIR/ios/App
LATEST_BUILD_NUMBER=$(app-store-connect get-latest-app-store-build-number "$APP_ID")
agvtool new-version -all $(($LATEST_BUILD_NUMBER + 1))
- name: Build ipa for distribution
script: |
xcode-project build-ipa \
--workspace "$XCODE_WORKSPACE" \
--scheme "$XCODE_SCHEME"
artifacts:
- build/ios/ipa/*.ipa
- /tmp/xcodebuild_logs/*.log
- $HOME/Library/Developer/Xcode/DerivedData/**/Build/**/*.app
- $HOME/Library/Developer/Xcode/DerivedData/**/Build/**/*.dSYM
publishing:
email:
recipients:
- YOUR_EMAIL
notify:
success: true # To not receive a notification when a build succeeds
failure: false # To not receive a notification when a build fails
app_store_connect:
auth: integration
# Configuration related to TestFlight (optional)
# Note: This action is performed during post-processing.
submit_to_testflight: true
# Configuration related to App Store (optional)
# Note: This action is performed during post-processing.
submit_to_app_store: false
This workflow should be triggered manually or after each GitHub SertifikatJika Anda perlu mengautomatisasi tag, silakan refer ke Automatic build dan release dengan GitHub actions Pertama.
Lalu alur kerja ini akan menarik dependensi NodeJS Anda, menginstalnya dan membangun aplikasi JavaScript Anda.
Setiap kali Anda mengirimkan tag baru, rilis akan dibangun di TestFlight.
Aplikasi Anda tidak perlu menggunakan Ionic, hanya Capacitor dasar yang wajib, aplikasi dapat memiliki modul Cordova yang lama, tetapi Capacitor plugin JavaScript harus dipilih.
5. Trigger alur kerja
Trigger alur kerja
Push commit baru ke cabang main atau development untuk mengaktifkan alur kerja.

Setelah beberapa menit, hasil build seharusnya tersedia di dashboard App Store Connect Anda.

Mulai secara manual
Anda dapat memulai alur kerja secara manual.
Pilih terlebih dahulu aplikasi yang ingin Anda buat, kemudian klik pada Mulai build baru.

Kemudian pilih cabang yang ingin Anda build.

Dan klik pada Mulai build baru.
Kemudian pergi ke daftar build

Klik pada build untuk melihat hasilnya.

Dapat mengdeploy dari mesin lokal
Ya, Anda bisa, dan itu sangat mudah.
Anda dapat menggunakan Xcode untuk membangun dan menandatangani aplikasi Anda, seperti biasa.
Terima kasih
Blog ini didasarkan pada artikel berikut:
- Pengiriman Terus-menerus untuk IOS menggunakan Codemagic dan GitHub aksi
- Dokumentasi Codemagic
- Pesan GitHub ini dari @mrogunlana
Teruskan dari Build IOS Otomatis Capacitor dengan Codemagic
If Anda menggunakan Build Otomatis Capacitor IOS dengan Codemagic untuk merencanakan otomatisasi CI/CD, hubungkannya dengan Capgo CI/CD untuk alur kerja produk di Capgo CI/CD, Capgo Pembangunan Nativ untuk alur kerja produk di Capgo Pembangunan Nativ, Capgo Integrasi untuk alur kerja produk di Capgo Integrasi, Pengintegrasian CI/CD untuk detail implementasi di Pengintegrasian CI/CD, dan GitHub Pengintegrasian Aksi untuk detail implementasi di GitHub Integrasi Aksi.