Building an iOS app traditionally means one thing: you need Xcode, and Xcode means macOS. That constraint is annoying if your whole team is on Windows or Linux, or if you just do not want to maintain a Mac build machine.
Kombinasi Capacitor Untuk menghasilkan proyek iOS native. Capgo Build Mengompilasi dan menandatanganinya di awan memungkinkan Anda melakukan pembangunan iOS dan pengiriman ke TestFlight dari sebuah workstation Windows.
Guid ini menunjukkan alur kerja yang praktis yang berfungsi baik dalam tim:
- Membangun pada Windows seperti proyek web biasa.
- Tetapkan
ios/di repositori Anda (agar keadaan native dapat direproduksi). - Jalankan
cap syncdipasang secara lokal (jadi pembangunan web Anda dikopi ke proyek iOS). - Triggerkan build iOS di cloud dengan Capgo Build.
Mulai build iOS di cloud dengan __CAPGO_KEEP_0__ Build.
Ada dua jenis "build" yang berbeda dalam sebuah aplikasi Capacitor.
- Pembangunan Web Build Web (JS/HTML/CSS): Anda melakukan ini secara lokal di Windows.
- Pembangunan Nativ (Arsip Xcode, tanda tangan, unggah): Capgo Pembangunan ini dilakukan pada perangkat Mac di cloud.
Kunci dari hal ini adalah: Capgo Build mengompilasi proyek native, namun ia mengharapkan aset web Anda sudah disinkronkan ke ios/.
Prerequisites
- Aplikasi Capacitor yang berfungsi (apapun frameworknya).
- Akun Pengembang Apple.
- Akses App Store Connect untuk aplikasi yang ingin Anda unggah (untuk TestFlight/Pengajuan App Store).
- Akun Anda di Capgo dan token API (
CAPGO_TOKEN).
1) Buat atau Siapkan Aplikasi Capacitor Anda (Windows)
Jika Anda sudah memiliki aplikasi web, lewati ke langkah-langkah Capacitor.
Contoh dengan Vite:
bun create vite@latest my-app
cd my-app
bun install
Pembangunan harus menghasilkan aset statis (untuk Vite ini adalah dist/ oleh default):
bun run build
2) Tambahkan Capacitor dan Platform iOS:
Instal Capacitor:
bun add @capacitor/core @capacitor/ios
bun add -d @capacitor/cli
Initialize dan buat folder platform iOS:
bunx cap init
bunx cap add ios
At this point Anda akan memiliki sebuah ios/ directory. Kirimkannya ke git. Capgo Build mengompilasi apa yang ada di ios/, jadi Anda inginnya terverifikasi dan dapat direproduksi.
3) Selalu Sinkronkan Asset Web ke iOS Sebelum Membangun
Setiap kali Anda mengubah aplikasi web, lakukanlah urutan ini di Windows:
bun run build
bunx cap sync ios
cap sync adalah yang menyalin asset web yang dibangun ke proyek iOS native (file-file Capgo Build yang akan sebenarnya dikompilasi).
4) Pasang dan Autentikasi Capgo CLI
Capgo Build diaktifkan melalui Capgo CLI. Dengan bun, gunakan bunx:
bunx @capgo/cli@latest login
Untuk mengatur token Anda melalui variabel lingkungan di shell/CI:
export CAPGO_TOKEN="your_api_key_here"
5) Konfigurasi Tanda Tangan iOS untuk Bangun di Cloud
Untuk membangun iOS Anda memerlukan materi tanda tangan:
- Sertifikat Distribusi Apple (
.p12) dan kata sandi - Profil Pengaturan (
.mobileprovision) - Sertifikat App Store Connect API (
AuthKey_XXXXXX.p8) dan metadata (ID Kunci, ID Penerbit, ID Tim)
Jika Anda masih perlu menghasilkan file-file ini, ikuti dokumentasi Capgo:
- Pengelolaan Kredensial (apa yang harus disimpan dan bagaimana)
- Bagaimana Mendapatkan Sertifikat dan Profil Pengaturan iOS
Jalan yang paling mudah adalah: buat/export file-file ini sekali (sering menggunakan Mac yang tersedia, rekan, atau sewaan satu kali), kemudian gunakan kembali dari Windows untuk setiap build berikutnya.
Setelah Anda memiliki file-file tersebut secara lokal, simpan mereka untuk Capgo Build:
bunx @capgo/cli@latest build credentials save \
--platform ios \
--certificate ./cert.p12 \
--p12-password "password" \
--provisioning-profile ./profile.mobileprovision \
--apple-key ./AuthKey.p8 \
--apple-key-id "KEY123" \
--apple-issuer-id "issuer-uuid" \
--apple-team-id "team-id"
Tip: di CI, simpan file-file kunci base64-encoding sebagai rahasia, dekod mereka pada waktu runtime, kemudian jalankan perintah yang sama. build credentials save command.
Dari folder aplikasi Anda:
Dari folder aplikasi Anda:
bun run build
bunx cap sync ios
bunx @capgo/cli@latest build com.example.app --platform ios --build-mode release
You will see real-time logs in your terminal. If your App Store Connect key is configured, Capgo Build can submit the resulting build to TestFlight automatically.
__CAPGO_KEEP_0__ Build adalah untuk perubahan native:
menambahkan/menghapus Capgo plugin
- menambahkan/menghapus plugin Capacitor
- mengubah ikon/splash
- Mengubah ikon/splash
- mengupdate Capacitor
- perubahan Swift/Objective-C apa pun
Untuk perubahan UI sehari-hari dan perbaikan JavaScript, Anda biasanya ingin Pembaruan Langsung Pembaruan Langsung (OTA), sehingga Anda tidak perlu membangun biner native setiap kali.
Alur kerja tim yang baik adalah:
- Alur kerja tim yang baik adalah:
- Gunakan Capgo Build secara berkala ketika perubahan native diperlukan.
Kebiasaan Windows Umum (dan Solusi)
- Forgetting
cap syncJika perubahan UI Anda tidak muncul di build iOS, kemungkinan besar Anda telah membangun aplikasi web tetapi tidak menyinkronkannya keios/. - Tidak melakukan perubahan commit
ios/: Capgo Build mengompilasi proyek native. Jika folder tidak berada di git (atau tidak berada di konteks build Anda), maka build tidak dapat mereproduksi aplikasi Anda. - Perubahan plugin tanpa rebuild nativeMengambahkan plugin adalah perubahan native; rencanakan Capgo Build run (dan pengiriman ke toko) setelahnya.
Ringkasan
Anda tidak dapat menjalankan Xcode di Windows, tetapi Anda dapat mengirimkan aplikasi iOS dari Windows:
- Bungkus aplikasi web Anda dengan Capacitor (
ios/di repositori Anda). - Membangun asset web secara lokal, kemudian
cap sync. - Gunakan Capgo Build untuk mengompilasi, menandatangani, dan mengirimkan binary iOS Anda dari CLI.
Lanjutkan dari Build Aplikasi iOS dari Windows dengan Capacitor dan Capgo Build
Jika Anda menggunakan Membangun Aplikasi iOS dari Windows dengan Capacitor dan Capgo Membangun untuk merencanakan otomatisasi CI/CD, hubungkannya dengan Capgo CI/CD untuk alur kerja produk di Capgo Otomatisasi CI/CD, Capgo Bangun Natively untuk alur kerja produk di Capgo Bangun Natively, Capgo Integrasi untuk alur kerja produk di Capgo Integrasi, Integrasi CI/CD untuk detail implementasi di Integrasi CI/CD, dan GitHub Aksi Integrasi untuk detail implementasi di GitHub Integrasi Aksi.