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

Layanan ini adalah ‘ gratis’ hingga 500 menit macOS M1 / bulan, tergantung pada mesin yang dipilih.
Kami akan menggunakan sebuah macOS M1 mesin, Anda dapat melihat harga dan batasan (harga sesuai dengan 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
- Mengcopy File Fastlane
- Mengatur 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 Bantuan Apple
Mengawali dengan match memerlukan Anda untuk membatalkan sertifikat yang ada. Tapi jangan khawatir, Anda akan memiliki 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.
Menambahkan Kunci API App Store Connect
Membuat 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 berikut.
1 — Masuk ke App Store Connect.
2 — Pilih Akses Pengguna App Store Connect.

3 — Pilih tab Kunci API.

4 — Klik Buat Kunci API atau tombol (+) Tambah.

5 — Masukkan nama untuk kunci dan pilih tingkat akses. Kami merekomendasikan memilih App Manager Hak akses, baca lebih lanjut tentang peran dan izin program Apple Developer Sini

6 — Klik Buat.
Sifat kunci API tidak dapat dibatasi hanya untuk aplikasi tertentu.
Nama kunci baru, ID kunci, tautan download, dan informasi lainnya muncul di halaman.

Ambil semua informasi yang diperlukan di sini:
<1> ID Masalah.
<2> ID Kunci.
<3> Klik "Unduh Kunci API" untuk mengunduh kunci pribadi API Anda. Tautan download hanya muncul jika kunci pribadi belum pernah diunduh. Apple tidak menyimpan salinan kunci pribadi. Jadi, Anda hanya dapat mengunduhnya sekali.
🔴 Simpan kunci pribadi Anda di tempat yang aman. Anda tidak boleh berbagi kunci, menyimpan kunci di code repository, atau termasuk kunci di kode sisi klien code.
Menambahkan kunci App Store Connect API ke Codemagic
-
Terbuka pengaturan Tim Codemagic Anda,
Pilih identitas tanda tangan code
Dan unggah sertifikat

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

Klik pada Pengelola sertifikat > + Pilih dan pilih Distribusi Apple.

Setelah itu Anda dapat membuat sertifikat baru.
Setelah itu Anda perlu pergi ke keychain untuk mendownload sertifikat sebagai .p12 file.
Untuk melakukan hal ini, Anda perlu pergi ke keychain, pilih keychain login tab, dan kemudian pilih Sertifikat Saya.

Setelah itu 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 Tukar (.p12).
File tersebut akan diunduh sebagai .p12 file.
Profil Pengaturan
Buka Pengembang Apple dan pilih tim yang tepat.
Kemudian buat profil baru, dengan mengklik pada +

Pilih dan Pilih App Store Connect.

Pilih aplikasi yang tepat, perhatikan karena Anda tidak bisa menggunakan wildcard, jika tidak proses signing akan gagal.

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

Terakhir, masukkan nama profil dan klik pada Generasi.
Nama profil akan digunakan untuk mengidentifikasi profil di Codemagic.

Kamu dapat mengunduh profil sebagai .mobileprovision file.

Menggunakan sertifikat tanda tangan Code
Codemagic memungkinkan kamu mengunggah sertifikat tanda tangan code sebagai arsip PKCS#12 yang berisi sertifikat dan kunci pribadi yang diperlukan untuk menggunakan sertifikat tersebut. Ketika mengunggah, Codemagic akan meminta kamu untuk memberikan kata sandi sertifikat (jika sertifikat dilindungi kata sandi) bersama dengan nama referensi unik Nama referensi, yang dapat digunakan kemudian dalam codemagic.yaml konfigurasi untuk mengambil file yang spesifik.
- Unggah sertifikat
- Generate sertifikat baru
- Dapatkan dari Portal Pengembang
- Buka pengaturan Tim Codemagic kamu, pergi ke pengaturan file codemagic.yaml > identitas tanda tangan Code.
- Buka sertifikat iOS tab.
- Unggah file sertifikat dengan mengklik pada Pilih file .p12 atau .pem atau dengan menariknya ke dalam frame yang ditunjuk.
- Masukkan Sandi sertifikat dan pilih Nama Referensi.
- Klik Tambahkan sertifikat
Menambahkan profil pengembangan
Codemagic memungkinkan Anda untuk mengunggah profil pengembangan untuk digunakan pada aplikasi atau untuk mengambil profil dari Portal Pengembang Apple.
Jenis profil, tim, ID paket, dan tanggal kedaluwarsa profil yang ditambahkan ke identitas tanda tangan Code ditampilkan. Selain itu, Codemagic akan memberitahu Anda apakah ada sertifikat tanda tangan code yang sesuai tersedia di identitas tanda tangan Code (tanda centang hijau di bidang) Sertifikat 3. Konfigurasi Codemagic
Konfigurasi rahasia Codemagic
Jadi, Anda pernah bertanya-tanya dari mana nilai-nilai dari
berasal? Nah, itu tidak lagi rahasia – itu dari rahasia proyek Anda. ENV Ever wonder where the values of the are coming from? Well, it’s not a secret anymore – it’s from your project’s secret.
4. Konfigurasi file aliran Codemagic
Buat sebuah file bernama codemagic.yml di root direktori proyek Anda dan tambahkan kode berikut.
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
Aliran ini harus diaktifkan secara manual atau setelah setiap GitHub tagJika Anda ingin mengaktifkan otomatisasi tag, silakan lihat Automatic build dan release dengan GitHub actions terlebih dahulu.
Lalu aliran ini akan menarik dependensi NodeJS, 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 lama, tetapi Capacitor plugin JavaScript disarankan.
5. Aktifkan aliran
Trigger alur kerja
Push komit baru ke cabang main atau development atau untuk memicu alur kerja

Sesudah beberapa menit, hasil build harus tersedia di dashboard App Store Connect Anda.

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

Pilih cabang yang ingin Anda bangun.

Dan klik pada Mulai Bangun Baru.
Lalu pergi ke daftar bangun.

Dan klik pada bangun untuk melihat hasilnya.

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