Langsung ke konten

Build iOS

Build dan submit aplikasi iOS ke TestFlight dan App Store menggunakan infrastruktur Mac khusus Capgo.

  • Anda akan belajar cara upload aplikasi via Capgo Native build
  • Anda akan belajar cara mengonfigurasi sertifikat untuk Capgo Native Build
  • Akun Capgo (free trial sudah cukup untuk memulai)
  • Aplikasi Anda sudah terdaftar di Capgo (jalankan bunx @capgo/cli@latest app add jika belum)
  • Tanpa Mac: Capgo Build meng-compile dan sign aplikasi iOS Anda di cloud, jadi Anda bisa menjalankannya dari macOS, Windows, atau Linux
  • Akun Apple Developer yang valid ($99/tahun) (Anda harus punya hak admin atau owner di akun Apple Developer)
  • Aplikasi Anda harus berhasil di-build (di Xcode lokal, atau dengan Capgo Build)
  • Aplikasi Capacitor
  • Ikon aplikasi yang sudah dikonfigurasi. Aplikasi tanpa ikon tidak bisa di-upload ke App Store.

Sebelum Anda mengatur sertifikat atau melakukan upload TestFlight pertama Anda, pastikan akun dan tim Apple sudah siap:

  • Aktifkan autentikasi dua faktor untuk Apple Account yang dipakai saat pendaftaran
  • Pilih tipe membership yang sesuai:
    • Individu / Pengusaha Perorangan: nama resmi pribadi Anda akan menjadi nama penjual di App Store
    • Organisasi: memerlukan entitas hukum, nomor D-U-N-S, situs web perusahaan yang publik, email kerja di domain perusahaan, dan orang yang berwenang mengikat organisasi ke perjanjian Apple
  • Gunakan akun yang bisa mengakses Apple Developer dan App Store Connect untuk sertifikat, record aplikasi, kunci API, dan TestFlight
  • Tentukan bundle ID final Anda sejak awal. Mengubahnya nanti biasanya berarti harus mengulang setup App Store
  • Siapkan item App Store Connect ini sebelum App Review: URL support, URL kebijakan privasi, rating usia, screenshot, kepatuhan ekspor, dan detail kontak App Review
Mulai pendaftaran Apple Developer Lanjutkan pendaftaran Apple di web Pilih tipe entitas Apple Developer yang sesuai App Store Connect setelah pendaftaran

Sebelum mulai membangun aplikasi dengan Capgo, kita perlu melakukan setup terlebih dahulu dan membuat build TestFlight pertama secara manual. Ada beberapa keuntungan melakukan build manual di awal:

  • Anda akan mengatur distribution certificate di mesin lokal Anda
  • Buat record App Store jika Anda belum melakukannya
  • Anda akan dapat mendeteksi masalah apa pun pada proses build yang terkait dengan aplikasi code Anda

Sebelum memulai, Anda harus sudah menginstal distribution certificate di mesin lokal. Proses ini cukup kompleks, namun saya akan menjelaskannya di bawah ini.

  1. Buka Xcode

  2. Klik pada Xcode -> Settings... Atau, Anda bisa menggunakan shortcut Cmd + ,

    Pengaturan Xcode

  3. Buka Accounts Tab Accounts di Xcode

  4. Cari Apple Account yang ditambahkan ke Apple Developer Account Apple Account yang dipilih di Xcode

  5. Cari team yang akan kamu gunakan untuk deploy app Cari team di Xcode

  6. Klik pada Manage Certificates... tombol Kelola sertifikat di Xcode

  7. Pastikan Anda dapat melihat distribution certificate di dalam daftar Sertifikat distribusi Xcode

  8. Jika tidak ada, Anda perlu membuat certificate baru

    1. Klik pada + tombol, lalu pada Apple Distribution Tambahkan sertifikat di Xcode
    2. Certificate akan dibuat secara otomatis. Anda bisa melihatnya di daftar. Cek langkah sebelumnya untuk memastikannya.

Setelah distribution certificate terpasang, Anda bisa memulai proses build.

  1. Buka aplikasi di Xcode

    Jalankan bunx cap open ios untuk membuka aplikasi di Xcode.

  2. Temukan dan klik pada archive tombol

    Di toolbar Xcode, cari dan klik product -> archive tombol.

    Toolbar Xcode

  3. Tunggu hingga build selesai

  4. Klik pada Distribute App tombol

    tombol Distribute di Xcode

  5. Pilih TestFlight Internal Only sebagai metode distribusi dan klik Distribute tombol

    metode distribusi Xcode TestFlight khusus internal

  6. Konfigurasikan app record

    Fill in the following fields:

    1. Name: Nama aplikasi Anda - akan muncul di App Store
    2. SKU - SKU aplikasi Anda - digunakan untuk mengidentifikasi aplikasi Anda di App Store
    3. The primary language - bahasa utama aplikasi Anda

    Lalu, klik pada next tombol

    Konfigurasi app record Xcode TestFlight

  7. Jika pembuatan app record gagal, coba tutup jendelanya dan coba archive app lagi.

  8. Tunggu hingga proses upload selesai

  9. Jika semua berjalan lancar, Anda akan melihat layar berikut Upload Xcode TestFlight selesai

  10. Klik pada Done tombol

Anda mungkin berpikir semuanya sudah beres dan app sudah bisa dilihat di TestFlight, tapi masih ada beberapa hal yang perlu diselesaikan:

  1. Tambahkan diri Anda ke TestFlight
  2. Selesaikan export compliance agar build bisa dites
  3. Isi metadata App Store Connect yang diperlukan seperti URL dukungan, URL kebijakan privasi, dan rating usia
  4. Siapkan screenshot yang sesuai dengan perangkat yang Anda dukung
  5. Tambahkan detail kontak App Review dan kredensial pengujian sebelum submit ke produksi

Mari mulai dengan cara pertama:

  1. Buka halaman App Store Connect halaman Halaman login App Store Connect

  2. Masuk dengan akun Apple Developer Anda

  3. Pilih tim yang Anda gunakan saat membuat record aplikasi. Jika Anda hanya punya satu akun developer, langkah ini bisa dilewati. Pemilihan tim App Store Connect

  4. Klik pada Apps tombol Tombol aplikasi App Store Connect

  5. Cari aplikasi yang Anda buat di langkah sebelumnya lalu klik aplikasi tersebut Pemilihan aplikasi App Store Connect

  6. Klik pada TestFlight tombol Tombol TestFlight di App Store Connect

  7. Klik pada Internal Testers plus tombol Tombol tambah Internal Testers di App Store Connect

  8. Buat grup baru

    Saya menamai grupnya “internal”. Anda bebas menamainya sesuka hati.

    Buat grup baru di App Store Connect

  9. Klik pada Invite testers tombol Tombol undang tester di App Store Connect

  10. Tambahkan diri Anda ke grup

    Cari nama Anda di daftar dan centang kotak di samping nama Anda. (Anda mungkin perlu refresh halaman untuk melihat nama Anda) Lalu, klik pada Add tombol.

    Kotak centang undang tester App Store Connect

  11. Verifikasi bahwa Anda telah ditambahkan ke grup

    Sekarang, Anda seharusnya sudah muncul di dalam grup.

    Verifikasi tester di App Store Connect

Selamat 🎉 Anda telah menambahkan diri ke TestFlight. Sekarang, hanya ada satu hal lagi yang perlu dilakukan sebelum Anda bisa mengonfigurasi Capgo Native Build.

Sekarang Anda perlu menyatakan ke Apple bahwa aplikasi Anda tidak menggunakan enkripsi non-standar (seperti algoritma kustom). Jika aplikasi Anda menggunakan enkripsi non-standar, saya sarankan membaca dokumentasi Apple cara menanganinya.\nAda dua cara untuk melakukannya:

  1. Anda bisa melakukannya secara manual setiap kali melakukan build aplikasi.
  2. Anda bisa mengonfigurasi file plist agar secara otomatis mengatur nilai ini ke false.

Mari mulai dengan cara pertama:

  1. Ikuti semua langkah dari bagian sebelumnya untuk menemukan bagian TestFlight di App Store Connect

  2. Klik pada Builds -> iOS tombol App Store Connect builds iOS

  3. Cari build dengan informasi kepatuhan yang hilang dan klik Manage Kelola build di App Store Connect

  4. Pilih opsi yang paling sesuai dengan aplikasi Anda

    Bagi saya, ini adalah none, tapi mungkin berbeda bagi Anda. Setelah itu, klik Save

    Simpan informasi kepatuhan di App Store Connect

  5. Aplikasi Anda sekarang seharusnya bertuliskan ready to test

    App Store Connect siap diuji

Untuk yang kedua, berikut adalah langkah-langkahnya:

  1. Buka Info.plist file

  2. Tambahkan key berikut:

    <key>ITSAppUsesNonExemptEncryption</key>
    <false/>
  3. Simpan file

Menginstal aplikasi TestFlight dan menerima undangan

Bagian berjudul “Menginstal aplikasi TestFlight dan menerima undangan”

Sekarang, Anda HAMPIR siap menguji aplikasi Anda di TestFlight. Sebelum itu, Anda perlu melakukan hal berikut:

  1. Download the aplikasi TestFlight dari App Store di perangkat iOS/iPadOS Anda
  2. Terima undangan untuk mencoba aplikasi Anda

Saya tidak akan membahas detail cara instal aplikasi TestFlight di perangkat Anda. Jika Anda bingung cara instal aplikasi, Google punya banyak panduan bagus untuk melakukannya.

Untuk menerima undangan, Anda akan menerima email dari Apple berisi link untuk menerima undangan tersebut.

  1. Buka email dari Apple yang berisi link untuk menerima undangan

  2. Klik pada View in TestFlight tombol Tombol email TestFlight

  3. Klik pada Install tombol Tombol instal TestFlight

  4. Instal aplikasi di perangkat Anda

    Jika sebelumnya Anda sudah menginstal aplikasi menggunakan Xcode, layar berikut mungkin akan muncul. Silakan klik tombol install tombol. Instal aplikasi TestFlight

  5. Tunggu hingga aplikasi selesai diinstal

  6. Klik pada Open dan klik tombol tersebut

Selamat 🎉 Anda telah menerima undangan untuk menguji aplikasi Anda di TestFlight. Sekarang, Anda dapat mengonfigurasi Capgo Native Build untuk melakukan build dan submit aplikasi Anda ke TestFlight.

Ada beberapa hal yang perlu Anda konfigurasi di Capgo Native Build agar bisa melakukan build dan submit aplikasi Anda ke TestFlight. Berikut adalah daftar hal yang akan Anda masukkan ke Capgo CLI:

ParameterDeskripsi
--platformPlatform untuk build (ios)
--apple-team-idApple Developer Team ID Anda (ditemukan di Portal Apple Developer)
--apple-keyPath ke file API Key App Store Connect Anda (.p8 file)
--apple-key-idKey ID dari API Key App Store Connect Anda
--apple-issuer-idApp Store Connect Issuer ID Anda
--certificatePath ke distribution certificate Anda (.p12 file)
--ios-provisioning-profileMapping provisioning profile (bundleId=path atau cukup path untuk satu profile)

Contoh command:

Jendela terminal
bunx @capgo/cli@latest build credentials save \
--platform ios \
--apple-team-id YOUR_TEAM_ID \
--apple-key '/path/to/AuthKey_XXXXX.p8' \
--apple-key-id YOUR_KEY_ID \
--apple-issuer-id YOUR_ISSUER_ID \
--certificate '/path/to/certificate.p12' \
--ios-provisioning-profile '/path/to/profile.mobileprovision'

Mari mulai dengan team ID. Mencarinya cukup mudah.

  1. Buka Akun Apple Developer dan scroll ke bawah

  2. Temukan Team ID

    Lokasi Team ID di developer account

Apple key, Apple key ID, dan Apple issuer ID

Bagian berjudul “Apple key, Apple key ID dan Apple issuer ID”

Sekarang, mari lanjut ke kunci Apple.

  1. Buka Halaman user dan akses App Store Connect

  2. Pilih tim yang sesuai di menu dropdown

    1. Klik nama Anda di pojok kanan atas
    2. Klik tim yang ingin Anda gunakan Pemilihan tim untuk keys Apple Developer
  3. Klik pada Integrations tombol Tombol integrasi App Store Connect

  4. Temukan issuer

    Klik pada copy tombol untuk menyalin issuer Salin issuer di App Store Connect

  5. Click on the plus button Tombol tambah key di App Store Connect

  6. Set the name of the key and set the access to App manager dan klik pada Generate tombol Nama key di App Store Connect, atur akses ke app manager, dan tombol generate

  7. Simpan key ID

    ID salinan kunci App Store Connect

  8. Unduh kuncinya

    Key unduhan App Store Connect

    Peringatan key unduhan App Store Connect

Selamat 🎉 Anda telah membuat Apple key, Apple key ID, dan Apple issuer ID.

Sekarang, Anda siap mengekspor sertifikat. Seperti yang Anda ingat, salah satu langkah awal panduan ini adalah menyiapkan distribution certificate.

Namun, dalam kebijaksanaannya yang tak terbatas, Apple memutuskan bahwa cara mengekspor sertifikat cukup berbeda dengan cara membuatnya 🙃 Mari kita mulai mengaturnya:

  1. Buka Keychain Access

    1. Klik Command + Space untuk membuka search bar
    2. Cari Keychain Access
    3. Klik pada Keychain Access aplikasi
  2. Pilih login kategori dan klik pada My Certificates tombol kategori login Keychain Access

  3. Cari sertifikat Anda di daftar

    Nama sertifikatnya harus Apple Distribution: [Your Name/Company] (your team ID) Keychain Access cari sertifikat

  4. Klik kanan pada sertifikat dan pilih Export Ekspor sertifikat Keychain Access

  5. Simpan sertifikat sebagai .p12 file

    1. Pastikan Anda memilih nama yang tepat untuk file sertifikat
    2. Pastikan format file diatur ke Personal Information Exchange (.p12)
    3. Klik pada Save tombol

    Dialog simpan sertifikat Keychain Access

  6. Saat diminta kata sandi, Anda bisa:

    • Lewati kata sandi (disarankan agar simpel): Klik OK tanpa memasukkan kata sandi
    • Atur kata sandi: Jika ingin melindungi sertifikat dengan kata sandi, Anda bisa mengaturnya di sini. File yang dilindungi kata sandi .p12 file didukung sepenuhnya oleh Capgo CLI - cukup masukkan kata sandi menggunakan --p12-password opsi saat menjalankan perintah konfigurasi.

    Dialog kata sandi simpan sertifikat Keychain Access

  7. Saat diminta “login keychain password”, masukkan kata sandi yang Anda gunakan untuk login ke Mac Anda

    Masukkan kata sandi yang Anda gunakan untuk login ke Mac Anda. Kemudian, klik pada Allow tombol.

    Keychain Access simpan sertifikat login keychain password

Selamat 🎉 Sertifikat berhasil diekspor.

Sekarang, Anda siap mengekspor provisioning profile. Saya jamin, ini hal terakhir yang perlu Anda ambil dari Apple.

  1. Buka Profil Apple Developer

  2. Pilih tim yang sesuai di menu dropdown

    1. Klik nama Anda di pojok kanan atas
    2. Klik tim yang ingin Anda gunakan Pemilihan tim untuk keys Apple Developer
  3. Pastikan Anda berada di halaman yang benar Tampilannya seharusnya seperti ini, jika tidak klik pada profiles di sidebar

    Halaman profil Apple Developer

  4. Klik pada + tombol Tombol tambah profil Apple Developer

  5. Pilih tipe profil Pilih App Store Connect dan klik pada Continue tombol

    Apple Developer pilih tipe profil

  6. Pilih aplikasi yang ingin di-build

    Cari aplikasi Anda di dropdown dan klik Continue tombol

    Apple Developer pilih aplikasi

  7. Pilih distribution certificate yang tepat

    Pilih sertifikat yang Anda ekspor di langkah sebelumnya, lalu klik Continue tombol

    Apple Developer pilih distribution certificate

    Jika Anda tidak yakin sertifikat mana yang harus dipilih, kembali ke Keychain Access dan cari sertifikat yang Anda ekspor. Lalu lihat tanggal kedaluwarsanya.

    Apple Developer pilih tanggal kedaluwarsa distribution certificate

  8. Beri nama profil

    Beri nama pada profil tersebut, lalu klik Generate tombol

    Nama profil Apple Developer

  9. Download profil

    Klik pada Download tombol untuk download profil

    Download profil Apple Developer

Selamat 🎉 Sekarang Anda sudah punya semua yang dibutuhkan untuk mengonfigurasi Capgo Native Build.

Berhasil! Sekarang Anda sudah memiliki semua yang dibutuhkan untuk mengonfigurasi Capgo Native Build.

Perintah yang perlu Anda jalankan adalah:

Jendela terminal
bunx @capgo/cli@latest build credentials save \
--platform ios \
--apple-team-id UVTJ336J2D \
--apple-key ./capgo-tutorial/AuthKey_66FGQZB566.p8 \
--apple-key-id 66FGQZB566 \
--apple-issuer-id 0cd4db4a-5598-45b8-9d32-75cdf127d005 \
--certificate ./capgo-tutorial/capgo-build-tutorial-certificate.p12 \
--ios-provisioning-profile ./capgo-tutorial/capgo_native_build_tutorial.mobileprovision

Jika berhasil, Anda akan melihat output berikut:

output penyimpanan kredensial Capgo CLI

Jika Anda sudah menyelesaikan ID Tim, Apple key, Apple key ID, dan Apple issuer ID, Sertifikat, dan Profil provisioning, Anda sudah memiliki semua yang dibutuhkan untuk CI/CD. Bagian ini hanya membahas cara memasukkan nilai tersebut sebagai GitHub Actions secrets dan environment variables.

1) Konversi file kredensial ke base64 satu baris

Bagian berjudul “1) Ubah file kredensial ke base64 satu baris”
Jendela terminal
# Distribution certificate (.p12)
base64 -i ./capgo-tutorial/capgo-build-tutorial-certificate.p12 | tr -d '\n' > certificate_base64.txt
# Provisioning profile (.mobileprovision)
base64 -i ./capgo-tutorial/capgo_native_build_tutorial.mobileprovision | tr -d '\n' > profile_base64.txt
# App Store Connect API key (.p8)
base64 -i ./capgo-tutorial/AuthKey_66FGQZB566.p8 | tr -d '\n' > apple_key_base64.txt

Di GitHub > Repository > Settings > Secrets and variables > Actions, tambahkan:

Nama SecretNilai
CAPGO_TOKENToken Capgo API Anda
APP_STORE_CONNECT_TEAM_IDTeam ID dari ID Tim
APPLE_KEY_IDKey ID dari Apple key, Apple key ID, dan Apple issuer ID
APPLE_ISSUER_IDIssuer ID dari Apple key, Apple key ID, dan Apple issuer ID
BUILD_CERTIFICATE_BASE64Isi dari certificate_base64.txt
CAPGO_IOS_PROVISIONING_MAPDibuat oleh CLI — salin dari .capgo-credentials file
APPLE_KEY_CONTENTIsi dari apple_key_base64.txt
P12_PASSWORD (opsional)Anda .p12 kata sandi jika diatur saat ekspor

3) Gunakan env vars di workflow GitHub Actions Anda

Bagian berjudul “3) Gunakan env vars di workflow GitHub Actions Anda”
.github/workflows/ios-build.yml
name: iOS Cloud Build
on:
workflow_dispatch:
push:
branches: [main]
jobs:
ios-build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6
- uses: oven-sh/setup-bun@v2
with:
bun-version: latest
- name: Request iOS build with Capgo
run: bunx @capgo/cli@latest build request --platform ios
env:
CAPGO_TOKEN: ${{ secrets.CAPGO_TOKEN }}
APP_STORE_CONNECT_TEAM_ID: ${{ secrets.APP_STORE_CONNECT_TEAM_ID }}
APPLE_KEY_ID: ${{ secrets.APPLE_KEY_ID }}
APPLE_ISSUER_ID: ${{ secrets.APPLE_ISSUER_ID }}
BUILD_CERTIFICATE_BASE64: ${{ secrets.BUILD_CERTIFICATE_BASE64 }}
CAPGO_IOS_PROVISIONING_MAP: ${{ secrets.CAPGO_IOS_PROVISIONING_MAP }}
APPLE_KEY_CONTENT: ${{ secrets.APPLE_KEY_CONTENT }}
P12_PASSWORD: ${{ secrets.P12_PASSWORD }}

Sekarang, Anda siap menjalankan build pertama Anda.

Jalankan perintah berikut untuk mem-build aplikasi Anda:

Jendela terminal
bunx @capgo/cli@latest build request --platform ios

Selamat! 🎉 Sekarang, aplikasi Anda sudah berhasil di-build dan siap dikirim ke App Store.

Alur build App Store standar akan mengunggah build ke App Store Connect/TestFlight. Jika rilis CI Anda juga harus melampirkan build TestFlight yang telah diproses ke versi App Store dan mengirimkannya untuk App Review, masukkan --submit-to-store-review dengan build rilis:

Jendela terminal
npx @capgo/cli@latest build request com.example.app \
--platform ios \
--build-mode release \
--ios-distribution app_store \
--submit-to-store-review \
--store-release-name "1.2.3" \
--store-release-notes "General improvements" \
--store-release-notes-locale "en-US=General improvements" \
--store-release-notes-locale "nl-NL=Algemene verbeteringen" \
--store-release-notes-locale "fr-FR=Ameliorations generales" \
--no-ios-automatic-release

Ini memerlukan kredensial kunci App Store Connect API (APPLE_KEY_ID, APPLE_ISSUER_ID, APPLE_KEY_CONTENT, dan APP_STORE_CONNECT_TEAM_ID). Upload password khusus aplikasi dan ad_hoc distribusi tidak dapat mengirim build untuk review. --store-release-name adalah versi App Store; jika dikosongkan, Capgo akan membaca MARKETING_VERSION dari proyek Xcode. --store-release-notes adalah teks fallback App Store What’s New, dan setiap --store-release-notes-locale "locale=notes" entri dapat menimpanya untuk lokalisasi store. Gunakan --ios-automatic-release untuk rilis otomatis setelah persetujuan Apple, atau --no-ios-automatic-release untuk menunggu rilis manual. --ios-testflight-groups masih tersedia untuk distribusi beta eksternal, tetapi tidak wajib untuk pengajuan review App Store.

Secara default, Capgo melakukan build aplikasi iOS untuk distribusi App Store (TestFlight + App Store). Jika Anda membutuhkan build ad-hoc (untuk pengujian internal atau pengumpulan artefak CI), Anda dapat menggunakan --ios-distribution flag.

  • Anda ingin mendistribusikan IPA langsung ke perangkat terdaftar (tanpa TestFlight)
  • Anda tidak punya atau tidak ingin memakai key API App Store Connect
  • Anda ingin mengumpulkan build artifacts melalui --output-upload tanpa submit ke App Store

Build ad-hoc memiliki persyaratan yang lebih sedikit dibandingkan build App Store:

KredensialDiperlukan?
Sertifikat distribusi (.p12)Ya
Profil provisioning Ad-hoc (.mobileprovision)Ya
ID Tim (--apple-team-id)Ya
Kunci API App Store Connect (.p8)Tidak
Apple Key ID / Issuer IDTidak

Ikuti langkah yang sama dengan Profil provisioning, tapi di langkah 5, pilih Ad Hoc alih-alih App Store:

  1. Buka Profil Apple Developer
  2. Klik + tombol
  3. Pilih Ad Hoc dan klik Continue
  4. Pilih app dan distribution certificate Anda
  5. Pilih perangkat yang ingin didaftarkan
  6. Beri nama dan download profilnya
Jendela terminal
bunx @capgo/cli@latest build credentials save \
--platform ios \
--ios-distribution ad_hoc \
--apple-team-id YOUR_TEAM_ID \
--certificate './certificate.p12' \
--ios-provisioning-profile './adhoc_profile.mobileprovision'

Tidak --apple-key, --apple-key-id, atau --apple-issuer-id needed.

Jendela terminal
bunx @capgo/cli@latest build request \
--platform ios \
--ios-distribution ad_hoc

Untuk mengumpulkan IPA sebagai build artifact, tambahkan --output-upload:

Jendela terminal
bunx @capgo/cli@latest build request \
--platform ios \
--ios-distribution ad_hoc \
--output-upload

Untuk GitHub Actions, Anda butuh lebih sedikit secrets dibanding build App Store:

.github/workflows/ios-adhoc-build.yml
name: iOS Ad-Hoc Build
on:
workflow_dispatch:
jobs:
ios-adhoc:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6
- uses: oven-sh/setup-bun@v2
with:
bun-version: latest
- name: Request iOS ad-hoc build
run: bunx @capgo/cli@latest build request --platform ios --ios-distribution ad_hoc --output-upload
env:
CAPGO_TOKEN: ${{ secrets.CAPGO_TOKEN }}
APP_STORE_CONNECT_TEAM_ID: ${{ secrets.APP_STORE_CONNECT_TEAM_ID }}
BUILD_CERTIFICATE_BASE64: ${{ secrets.BUILD_CERTIFICATE_BASE64 }}
CAPGO_IOS_PROVISIONING_MAP: ${{ secrets.CAPGO_IOS_PROVISIONING_MAP_ADHOC }}
CAPGO_IOS_DISTRIBUTION: ad_hoc

Aplikasi dengan Extension (Multi-Target Signing)

Bagian berjudul “Apps with Extensions (Multi-Target Signing)”

Jika aplikasi Anda menyertakan extension (share extensions, widgets, notification service extensions, dll.), setiap target extension memerlukan provisioning profile sendiri. Capgo mendukung ini melalui flag --ios-provisioning-profile flag.

Jendela terminal
bunx @capgo/cli@latest build credentials save \
--platform ios \
--apple-team-id YOUR_TEAM_ID \
--apple-key '/path/to/AuthKey_XXXXX.p8' \
--apple-key-id YOUR_KEY_ID \
--apple-issuer-id YOUR_ISSUER_ID \
--certificate '/path/to/certificate.p12' \
--ios-provisioning-profile "com.example.app=./app_profile.mobileprovision" \
--ios-provisioning-profile "com.example.app.share-extension=./share_ext_profile.mobileprovision"

Setiap --ios-provisioning-profile flag memetakan bundle ID ke file provisioning profile-nya. CLI:

  1. Membaca setiap file mobileprovision
  2. Otomatis mengekstrak nama profil dari plist yang tertanam
  3. Meng-encode file ke Base64
  4. Menyimpan semuanya sebagai satu CAPGO_IOS_PROVISIONING_MAP kredensial

Jika Anda sebelumnya menggunakan BUILD_PROVISION_PROFILE_BASE64 (single profile), jalankan:

Jendela terminal
bunx @capgo/cli@latest build credentials migrate --platform ios

Ini mengonversi kredensial single-profile yang ada ke CAPGO_IOS_PROVISIONING_MAP format baru dan menghapus kunci lama (BUILD_PROVISION_PROFILE_BASE64, APPLE_PROFILE_NAME).

Setelah migrasi, tambahkan profil ekstensi dengan update perintah (additive merge):

Jendela terminal
bunx @capgo/cli@latest build credentials update \
--platform ios \
--ios-provisioning-profile "com.example.app.share-extension=./share_ext_profile.mobileprovision"

Provisioning profile tidak menyertakan capability XYZ.

Bagian berjudul “Provisioning profile doesn’t include the XYZ capability.”

Terkadang, Anda mungkin melihat error berikut:

Provisioning profile "YOUR_PROVISIONING_PROFILE_NAME" doesn't include the XYZ capability. (in target 'App' from project 'App')"

Ini terjadi karena Anda mengaktifkan capability baru setelah provisioning profile dibuat. Provisioning profile lama belum menyertakan capability baru tersebut.

Untuk memperbaikinya, Anda perlu me-regenerate provisioning profile tersebut.

  1. Buka Portal Apple Developer
  2. Pilih tim yang sesuai di menu dropdown Pemilihan tim untuk keys Apple Developer
  3. Klik pada Profiles tombol Tombol profil Apple Developer
  4. Cari provisioning profile yang ingin dibuat ulang Cari profil di Apple Developer
  5. Klik pada Edit tombol Edit profil di Apple Developer
  6. Klik pada Save tombol Simpan profil Apple Developer
  7. Klik pada Download tombol Download profil Apple Developer
  8. Jalankan ulang perintah setup Capgo Native Build dengan profil yang baru diunduh.

Ini seharusnya dapat mengatasi masalah tersebut.

Jika karena alasan apa pun Anda mengalami kendala pada Capgo Native Build, konfigurasi kredensial, atau saat build aplikasi, jangan ragu untuk menghubungi kami melalui dukungan.

Jika Anda menggunakan Build iOS untuk merencanakan otomatisasi CI/CD, hubungkan dengan CI/CD Capgo untuk workflow produk di Capgo CI/CD, Capgo Native Build untuk workflow produk di Capgo Native Builds, Integrasi Capgo untuk alur kerja produk di Integrasi Capgo, Integrasi CI/CD untuk detail implementasi di Integrasi CI/CD, dan Integrasi GitHub Actions untuk detail implementasi di Integrasi GitHub Actions.