Lompat ke konten

Pembangunan iOS

Buat dan kirimkan aplikasi iOS ke TestFlight dan App Store menggunakan infrastruktur Mac Capgo yang terintegrasi.

  • Anda akan belajar cara mengunggah aplikasi melalui Capgo Native build
  • Anda akan belajar cara mengonfigurasi sertifikat untuk Capgo Native Build
  • Akun Capgo (cukup dengan trial gratis untuk memulai)
  • Aplikasi Anda sudah terdaftar di Capgo (jalankan bunx @capgo/cli@latest app add jika belum)
  • Komputer Mac dengan Xcode terinstal (mungkin untuk mengatur build di mesin linux/windows, tapi belum terdokumentasi)
  • Akun Pengembang Apple yang valid (99$/tahun) (Anda harus memiliki hak admin atau pemilik pada akun Pengembang Apple)
  • Aplikasi Anda harus dapat dibangun dengan sukses melalui Xcode
  • Aplikasi Capacitor
  • Ikon yang telah dikonfigurasi untuk aplikasi. Aplikasi tanpa ikon tidak dapat diunggah ke App Store

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

  • Mengaktifkan autentikasi dua faktor untuk Akun Apple yang digunakan untuk pendaftaran
  • Pilih jenis keanggotaan yang tepat:
    • Individu / Pemilik Usaha Sendiri: nama pribadi Anda yang sah menjadi nama penjual di App Store
    • Organisasi: memerlukan entitas hukum, nomor D-U-N-S, situs web perusahaan publik, alamat email kerja di domain perusahaan, dan orang dengan otoritas untuk mengikat organisasi ke perjanjian Apple
  • Gunakan akun yang dapat mengakses baik Apple Developer dan App Store Connect untuk sertifikat, catatan aplikasi, API kunci, dan TestFlight
  • Tetapkan ID paket akhir Anda sejak awal. Mengubahnya kemudian biasanya berarti melakukan setup App Store ulang
  • Rencanakan item App Store Connect ini sebelum App Review: URL dukungan, URL kebijakan privasi, klasifikasi usia, screenshot, kewajiban ekspor, dan detail kontak App Review
Mulai proses pendaftaran Apple Developer Lanjutkan proses pendaftaran Apple di web Pilih jenis entitas pengembang Apple yang tepat App Store Connect setelah pendaftaran

Sebelum kita bisa memulai berpikir tentang membangun aplikasi dengan Capgo, kita harus terlebih dahulu mengatur dan melakukan build TestFlight pertama secara manual. Ada beberapa kelebihan melakukan build manual pertama:

  • Kamu akan mengatur sertifikat distribusi pada mesin lokal kamu
  • Kamu akan membuat catatan App Store jika belum melakukannya sebelumnya
  • Kamu akan dapat mengetahui masalah-masalah dengan proses build yang terkait dengan aplikasi code

Sebelum kita bisa memulai, kamu harus memiliki sertifikat distribusi terinstal pada mesin lokal kamu. Hal ini cukup kompleks, tetapi saya akan menjelaskannya di bawah ini.

  1. Buka Xcode

  2. Klik pada Xcode -> Settings... Atau Anda dapat menggunakan pintasan Cmd + ,

    Pengaturan Xcode

  3. Buka Accounts Tab Akun Xcode

  4. Cari Akun Apple yang telah ditambahkan ke Akun Pengembang Apple Akun Apple yang dipilih di Xcode

  5. Cari tim yang akan digunakan untuk mengirimkan aplikasi Xcode cari tim

  6. Klik pada tombol Manage Certificates... Xcode mengelola sertifikat Pastikan Anda dapat melihat sertifikat distribusi di daftar

  7. Xcode sertifikat distribusi Sertifikat distribusi Xcode

  8. Jika Anda tidak melakukannya, Anda perlu membuat sertifikat baru

    1. Klik pada tombol + dan kemudian pada Apple Distribution Sertifikat Xcode tambahkan
    2. Sertifikat akan dibuat secara otomatis. Anda dapat melihatnya dalam daftar. Lihat langkah sebelumnya untuk memastikan Anda melihatnya.

Sekarang Anda telah menginstal sertifikat distribusi, Anda dapat memulai proses pembangunan.

  1. Buka aplikasi di Xcode

    Jalankan bunx cap open ios Untuk membuka aplikasi di Xcode.

  2. Temukan dan klik tombol archive button

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

    Toolbar Xcode

  3. Tunggu proses build selesai

  4. Klik tombol Distribute App button distribusi Xcode

    button distribusi Xcode

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

    Distribusi internal hanya Xcode TestFlight

  6. Konfigurasi catatan aplikasi

    Isi bidang berikut:

    1. Nama: Nama aplikasi Anda - terlihat di App Store
    2. SKU - Kode SKU aplikasi Anda - ini digunakan untuk mengidentifikasi aplikasi Anda di App Store
    3. Bahasa utama - bahasa utama aplikasi Anda

    Lalu, klik pada next tombol

    Distribusi internal hanya Xcode TestFlight konfigurasi catatan aplikasi

  7. Jika pembuatan rekaman aplikasi gagal, coba tutup jendela dan coba arsip aplikasi lagi.

  8. Tunggu hingga unggahan selesai

  9. Jika semuanya berjalan lancar, Anda seharusnya melihat layar berikut ini Xcode TestFlight unggah selesai

  10. Klik pada tombol Done Anda mungkin secara naluriah berpikir bahwa semuanya baik-baik saja sekarang dan Anda akan dapat melihat aplikasi Anda di TestFlight sekarang, tetapi ada beberapa hal lagi yang harus diselesaikan:

Tambahkan diri Anda ke TestFlight

  1. Lengkapi ketentuan ekspor untuk membuat build menjadi dapat diuji
  2. Isi metadata App Store Connect yang diperlukan seperti URL dukungan, URL kebijakan privasi, dan klasifikasi usia
  3. Siapkan screenshot yang sesuai dengan perangkat yang Anda dukung
  4. Tambahkan detail kontak ulasan aplikasi dan kredential uji sebelum pengajuan produksi
  5. Tambahkan detail kontak ulasan aplikasi dan kredential uji sebelum pengajuan produksi

Mulai dengan yang pertama:

  1. Pergi ke halaman App Store Connect halaman Halaman login App Store Connect

  2. Masuk dengan akun pengembang Apple Anda

  3. Pilih tim yang Anda gunakan ketika Anda membuat catatan aplikasi. Jika Anda hanya memiliki satu akun pengembang, Anda dapat melewatkan langkah ini. Pilih tim App Store Connect

  4. Klik pada tombol Apps tombol Tombol aplikasi App Store Connect

  5. Cari aplikasi yang Anda buat di langkah sebelumnya dan klik pada tombolnya Pilih aplikasi App Store Connect

  6. Klik pada tombol TestFlight Tombol Tombol uji coba App Store Connect

  7. Klik pada tombol Internal Testers plus Tombol Tombol penambah tester internal App Store Connect

  8. Buat grup baru

    Saya suka menamai grup ini “internal”. Anda bisa menamainya apa saja.

    Buat grup baru App Store Connect

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

  10. Tambahkan diri Anda ke grup

    Temukan diri Anda dalam daftar dan pilih kotak centang di samping nama Anda. (Anda mungkin perlu memperbarui halaman untuk melihat diri Anda) Lalu, klik pada Add tombol.

    Tombol centang tester App Store Connect

  11. Pastikan Anda telah ditambahkan ke grup

    Sekarang, Anda harus melihat diri Anda dalam grup.

    App Store Connect verifikasi tester

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

Anda sekarang perlu berjanji kepada Apple bahwa aplikasi Anda tidak menggunakan enkripsi non-standar (seperti algoritma kustom). Jika aplikasi Anda menggunakan enkripsi non-standar, saya sarankan membaca documentasi Apple untuk mengetahui cara mengatasi masalah ini. Ada dua cara untuk melakukannya:

  1. Anda dapat melakukannya secara manual setiap kali Anda membangun aplikasi.
  2. Anda dapat mengonfigurasi file plist Anda untuk mengatur nilai ini secara otomatis ke false.

Mari kita 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. Temukan build dengan informasi kesepakatan yang hilang dan klik pada Manage  tombol App Store Connect manage build

  4. Pilih opsi yang paling tepat untuk menggambarkan aplikasi Anda

    Bagi saya, ini adalah noneTapi mungkin berbeda untuk Anda. Setelah itu, klik simpan

    App Store Connect menyimpan informasi kesesuaian

  5. Aplikasi Anda seharusnya sekarang mengatakan ready to test

    App Store Connect siap untuk diuji

Untuk yang kedua, berikut adalah langkah-langkahnya:

  1. Buka file Info.plist Tambahkan kunci berikut:

  2. Salin ke clipboard

    <key>ITSAppUsesNonExemptEncryption</key>
    <false/>
  3. Pilih opsi yang paling tepat untuk menggambarkan aplikasi Anda

Menginstal aplikasi TestFlight dan menerima undangan

Judul bagian “Menginstal aplikasi TestFlight dan menerima undangan”

Sekarang, Anda HAMPIR sudah siap untuk menguji aplikasi Anda di TestFlight. Sebelumnya, Anda perlu melakukan hal-hal berikut:

  1. Mengunduh aplikasi TestFlight dari App Store pada perangkat iOS/iPadOS Anda
  2. Terima undangan untuk menguji aplikasi Anda

Saya akan melewatkan detail tentang cara menginstal aplikasi TestFlight di perangkat Anda. Jika Anda tidak yakin bagaimana cara menginstal aplikasi, Google memiliki beberapa panduan yang bagus tentang cara melakukannya.

Untuk menerima undangan, Anda akan menerima surel dari Apple dengan tautan untuk menerima undangan.

  1. Buka surel dari Apple dengan tautan untuk menerima undangan

  2. Klik pada View in TestFlight button Klik pada tombol TestFlight email

  3. Klik pada Install button Klik pada tombol TestFlight install

  4. Instal aplikasi di perangkat Anda

    Jika Anda telah menginstal aplikasi sebelumnya menggunakan Xcode, Anda mungkin melihat layar berikut. Silakan klik pada install button. Instal Aplikasi TestFlight

  5. Tunggu aplikasi terpasang

  6. Klik pada tombol ini dan klik tombolnya Open Selamat 🎉 Anda telah menerima undangan untuk menguji aplikasi Anda di TestFlight. Sekarang, Anda dapat mengonfigurasi __CAPGO_KEEP_0__ Pembangunan Nativ untuk membangun dan mengirimkan aplikasi Anda ke TestFlight.

Mengonfigurasi Capgo Pembangunan Nativ

There are a few things you need to configure in Capgo Native Build to be able to build and submit your app to TestFlight. Here is a list of the things you will pass to the Capgo CLI:

DeskripsiPlatform untuk dibangun (
--platform]} ios)
--apple-team-idID Tim Pengembang Apple Anda (ditemukan di Portal Pengembang Apple)
--apple-keyJalur ke API File Sertifikat App Store Connect Anda (.p8 file)
--apple-key-idThe Key ID of your App Store Connect API Key
--apple-issuer-idID Penerbit App Store Connect Anda
--certificateJalur ke Sertifikat Distribusi Anda (.p12 file)
--ios-provisioning-profilePeta Profil Pengaturan (bundleId=path atau hanya jalur untuk profil tunggal)

Contoh perintah:

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 kita mulai dengan ID tim. Mencarinya cukup mudah.

  1. Pergi ke Akun Pengembang Apple dan gulir ke bawah

  2. Cari lokasi Team ID

    Lokasi ID Tim di akun pengembang

Kunci Apple, ID Kunci Apple dan ID Pengirim Apple

Bagian Judul “Kunci Apple, ID Kunci Apple dan ID Pengirim Apple”

Sekarang, mari kita lanjutkan ke kunci Apple.

  1. Akses halaman pengguna dan akses App Store Connect Peringatan

  2. Pilih tim yang benar di dropdown

    1. Klik pada nama Anda di pojok kanan atas
    2. Klik pada tim yang ingin Anda gunakan Kunci pengembang Apple tim pilihan
  3. Klik pada Integrations tombol Integrasi tombol App Store Connect

  4. Cari issuer

    Klik pada tombol copy button untuk menyalin issuer Pengguna App Store Connect salin issuer

  5. Klik pada tombol plus Pengguna App Store Connect tambah tombol kunci

  6. Tentukan nama kunci dan atur akses ke App manager dan klik pada tombol Generate button Pengguna App Store Connect tambah nama kunci, atur akses ke pengelola aplikasi dan buat tombol

  7. Simpan ID kunci

    Kunci ID App Store Connect copy

  8. Unduh kunci

    Kunci Download App Store Connect

    Pemberitahuan Kunci Download App Store Connect

Pengumuman 🎉 Anda telah menciptakan kunci Apple, ID kunci Apple, dan ID penerbit Apple.

Sekarang, Anda sudah siap untuk mengekspor sertifikat. Seperti yang Anda ingat, salah satu langkah pertama dari panduan ini adalah mengatur sertifikat distribusi.

Namun, Apple dalam kebijakan mereka yang tidak terbatas, memutuskan bahwa cara Anda mengekspor sertifikat sangat berbeda dari cara Anda menciptakannya 🙃 Mari kita mulai dengan mengaturnya:

  1. Buka Akses Kunci

    1. Klik Command + Space untuk membuka bar pencarian
    2. Cari Keychain Access
    3. Klik pada Keychain Access app
  2. Pilih kategori dan klik pada login button My Certificates Kategori login Keychain Access Cari sertifikat Anda di daftar

  3. Sertifikat harus bernama

    Cari sertifikat Keychain Access Apple Distribution: [Your Name/Company] (your team ID) Klik kanan pada sertifikat dan pilih

  4. Ekspor sertifikat Keychain Access Export __CAPGO_KEEP_0__

  5. Simpan sertifikat sebagai .p12 file

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

    Dialog simpan sertifikat Akses Kunci

  6. When diminta kata sandi, Anda dapat memilih:

    • Melewatkan kata sandi (direkomendasikan untuk kesederhanaan): Klik OK tanpa memasukkan kata sandi
    • Membuat kata sandi: Jika Anda lebih suka melindungi sertifikat dengan kata sandi, Anda dapat membuatnya di sini. Sertifikat yang dilindungi kata sandi sepenuhnya didukung oleh __CAPGO_KEEP_0__ __CAPGO_KEEP_1__ - cukup berikan kata sandi menggunakan .p12 files are fully supported by the Capgo CLI - just provide the password using the --p12-password Pengaturan Kata Sandi Akses Keychain

    Ketika diminta kata sandi 'login keychain', berikan kata sandi yang Anda gunakan untuk login ke Mac Anda

  7. Berikan kata sandi yang Anda gunakan untuk login ke Mac Anda. Kemudian, klik tombol

    Pengaturan Kata Sandi Akses Keychain Login Allow Hore 🎉 Anda telah diekspor sertifikat.

    Pengaturan Kata Sandi Akses Keychain Login

Hore

Sekarang, Anda sudah siap untuk mengexport profil pengaturan. Saya berjanji, ini adalah hal terakhir yang Anda butuhkan dari Apple.

  1. Pergi ke Apple Developer Profil

  2. Pilih tim yang benar di dropdown

    1. Klik nama Anda di pojok kanan atas
    2. Klik tim yang ingin Anda gunakan Pilih tim Apple Developer
  3. Pastikan Anda berada di halaman yang benar Halaman ini harus seperti ini, jika tidak klik pada profiles di sidebar

    Halaman profil pengaturan Apple Developer

  4. Klik pada tombol + button Tombol profil pengembang Apple

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

    Tombol pilih profil pengembang Apple

  6. Pilih aplikasi yang ingin Anda buat

    Cari aplikasi Anda di dropdown dan klik pada tombol Continue button

    Tombol pilih aplikasi pengembang Apple

  7. Pilih sertifikat distribusi yang benar

    Pilih sertifikat yang Anda export di langkah sebelumnya dan klik tombol Continue __CAPGO_KEEP_0__

    Sertifikat Distribusi Pengembang Apple

    Jika Anda tidak yakin sertifikat mana yang harus dipilih, kembali ke Keychain Access dan cari sertifikat yang Anda export. Kemudian lihat tanggal kadaluarsa.

    Sertifikat Distribusi Pengembang Apple tanggal kadaluarsa

  8. Nama profil

    Berikan profil nama dan klik tombol Generate Tip

    Nama Pengembang Apple

  9. Unduh profil

    Klik pada tombol Download untuk mengunduh profil

    Profil download Apple Developer

Selamat 🎉 Anda telah memiliki semua yang Anda butuhkan untuk mengonfigurasi Capgo Native Build.

Anda telah melakukannya! Anda telah mendapatkan semua yang Anda butuhkan untuk mengonfigurasi Capgo Native Build.

Perintah yang perlu Anda jalankan adalah:

Tampilan 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 semuanya berjalan lancar, Anda akan melihat output berikut:

Capgo CLI hasil penyimpanan kredential

Judul bagian “Konfigurasi CI/CD (GitHub Actions)”

Section titled “CI/CD setup (GitHub Actions)”

ID Tim Kunci Apple, ID kunci Apple, dan ID penerbit Apple, Sertifikat, , danProfil pengaturan , Anda sudah memiliki semua yang dibutuhkan untuk CI/CD. Bagian ini hanya menjelaskan cara mengirimkan nilai-nilai tersebut sebagai rahasia __CAPGO_KEEP_0__ Actions dan variabel lingkungan.GitHub

1) Ubah file kredit menjadi nilai base64 tunggal

Bagian berjudul “1) Ubah file kredit menjadi nilai base64 tunggal”
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 rahasiaNilai
CAPGO_TOKENToken Anda Capgo API
APP_STORE_CONNECT_TEAM_IDID Tim dari ID Tim
APPLE_KEY_IDID Kunci dari Kunci Apple, ID Kunci Apple dan ID Penerbit Apple
APPLE_ISSUER_IDID Penerbit dari Kunci Apple, ID Kunci Apple dan ID Penerbit Apple
BUILD_CERTIFICATE_BASE64Isi dari certificate_base64.txt
CAPGO_IOS_PROVISIONING_MAPDibuat oleh CLI — salin dari .capgo-credentials file
APPLE_KEY_CONTENTIsi Konten apple_key_base64.txt
P12_PASSWORD (opsional)Anda .p12 kata sandi jika telah ditentukan selama ekspor

3) Gunakan variabel lingkungan di workflow GitHub Anda

Judul bagian “3) Gunakan variabel lingkungan di workflow GitHub 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 sudah siap untuk menjalankan build pertama Anda.

Jalankan perintah berikut untuk membangun aplikasi Anda:

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

Selamat 🎉 Pada tahap ini, Anda telah berhasil membangun aplikasi Anda dan siap untuk disubmit ke App Store.

Jalur build App Store normal mengunggah build ke App Store Connect/TestFlight. Jika rilis CI Anda juga harus menambahkan build TestFlight yang diproses ke versi App Store dan mengirimkannya untuk Tinjauan, lakukan --submit-to-store-review dengan rilis build:

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

Memerlukan kunci kredential App Store Connect API (APPLE_KEY_ID, APPLE_ISSUER_ID, APPLE_KEY_CONTENT, dan APP_STORE_CONNECT_TEAM_ID). Pengunggahan kata sandi aplikasi dan distribusi tidak dapat mengajukan build untuk tinjauan. ad_hoc adalah versi App Store; jika diabaikan, __CAPGO_KEEP_0__ membaca --store-release-name is the App Store version; if omitted, Capgo reads MARKETING_VERSION adalah teks 'Apa Baru' App Store yang digunakan sebagai alternatif, dan setiap --store-release-notes masukkan entri dapat menggantinya untuk lokalisasi toko. Gunakan --store-release-notes-locale "locale=notes" untuk merilis secara otomatis setelah persetujuan Apple, atau --ios-automatic-release untuk menunggu rilis manual. --no-ios-automatic-release masih tersedia untuk distribusi beta eksternal, tetapi tidak diperlukan untuk pengajuan tinjauan App Store. --ios-testflight-groups Mode Distribusi Ad-Hoc

adalah versi App Store; jika diabaikan, __CAPGO_KEEP_0__ membaca dari proyek Xcode.

Mode Distribusi Ad-Hoc

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

Kapan Menggunakan Mode Ad-Hoc

Kapan Menggunakan Mode Ad-Hoc
  • Anda ingin mendistribusikan IPA secara langsung ke perangkat yang terdaftar (tidak ada TestFlight)
  • Anda tidak memiliki atau tidak ingin menggunakan kunci App Store Connect API
  • Anda ingin mengumpulkan artefak pembangunan melalui --output-upload tanpa mengajukan ke App Store

Pembangunan ad-hoc memiliki persyaratan yang lebih sedikit dibandingkan dengan pembangunan App Store:

KredensialDiperlukan?
Sertifikat distribusi (.p12)Ya
Profil pengaturan ad-hoc (.mobileprovision)Ya
ID Tim (--apple-team-id)Ya
Kunci App Store Connect API (.p8)Tidak
ID Kunci Apple / ID PenerbitTidak

Ikuti langkah-langkah yang sama seperti Profil provisioning, tetapi pada langkah 5, pilih Ad Hoc bukan App Store:

  1. Pilih Apple Developer Profiles
  2. Klik tombol + tombol
  3. Pilih Ad Hoc dan klik Lanjutkan
  4. Pilih aplikasi dan sertifikat distribusi Anda
  5. Pilih perangkat yang ingin Anda daftarkan
  6. Nama dan download profil
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 diperlukan.

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

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

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

Pengembangan CI/CD dengan build ad-hoc

Judul bagian “Pengembangan CI/CD dengan build ad-hoc”

Untuk GitHub Aksi, Anda memerlukan lebih sedikit rahasia daripada 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

If your app includes extensions (share extensions, widgets, notification service extensions, etc.), each extension target needs its own provisioning profile. Capgo supports this via the repeatable --ios-provisioning-profile Jendela terminal

Salin ke clipboard

Setiap
flag menerjemahkan ID paket ke file profil pengaturan. The __CAPGO_KEEP_0__:
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"

Membaca setiap file mobileprovision --ios-provisioning-profile flag maps a bundle ID to its provisioning profile file. The CLI:

  1. Membaca setiap file mobileprovision
  2. Mengextract otomatis nama profil dari plist yang diintegrasikan
  3. Mengenkripsi file dengan Base64
  4. Menyimpan semuanya sebagai satu CAPGO_IOS_PROVISIONING_MAP kredensial

Migrasi dari Profil Tunggal

Jika Anda sebelumnya menggunakan

(profil tunggal), jalankan: BUILD_PROVISION_PROFILE_BASE64 Jendela Terminal

Migrasi dari Profil Tunggal
bunx @capgo/cli@latest build credentials migrate --platform ios

Ini mengubah kreditur profil tunggal Anda ke format baru dan menghapus kunci warisan ( CAPGO_IOS_PROVISIONING_MAP Setelah migrasi, tambahkan profil ekstensi dengan perintah (campur tambah):BUILD_PROVISION_PROFILE_BASE64, APPLE_PROFILE_NAME).

Jendela terminal update Salin ke clipboard

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

Profil pengaturan tidak termasuk kemampuan XYZ.

Bagian berjudul “Profil pengaturan tidak termasuk kemampuan XYZ.”

Sekaligus, Anda mungkin melihat pesan kesalahan berikut:

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

Hal ini terjadi karena Anda telah mengaktifkan kemampuan baru setelah profil pengaturan dibuat. Profil pengaturan lama tidak termasuk kemampuan baru tersebut.

Untuk memperbaiki hal ini, Anda perlu menghasilkan profil pengaturan baru.

  1. Buka Portal Pengembang Apple
  2. Pilih tim yang benar di dropdown Pilih tim Apple Developer
  3. Klik pada tombol Profiles Tombol Profil Pengembang Apple Cari profil pengembang yang ingin Anda regenerasi
  4. Cari Profil Pengembang Apple Klik pada tombol
  5. Tombol Edit Profil Pengembang Apple Edit Klik pada tombol Tombol Edit Profil Pengembang Apple
  6. Tombol Edit Profil Pengembang Apple Save Tombol Edit Profil Pengembang Apple Developer Apple simpan profil
  7. Klik pada tombol Download button Developer Apple download profil
  8. Jalankan kembali perintah setup Native Build Capgo dengan profil yang baru saja diunduh.

Masalah ini seharusnya teratasi.

If for whatever reason you are having issues either with Capgo Native Build, configuring the credentials or building the app, please don’t hesitate to reach via our Lanjutkan dari Build iOS .

Lanjutkan dari Build iOS

Tetap Berlanjut dari Pembangunan iOS

Jika Anda menggunakan Pembangunan iOS untuk merencanakan otomatisasi CI/CD, hubungkannya dengan Capgo Otomatisasi CI/CD untuk alur kerja produk di Capgo Otomatisasi CI/CD, Capgo Pembangunan Native untuk alur kerja produk di Capgo Pembangunan Native, Capgo Integrasi untuk alur kerja produk di Capgo Integrasi, Integrasi Otomatisasi CI/CD untuk detail implementasi di Integrasi Otomatisasi CI/CD, GitHub Aksi Integrasi untuk detail implementasi di GitHub Aksi Integrasi.