Membangun aplikasi iOS secara tradisional berarti satu hal: Anda membutuhkan Xcode, dan Xcode berarti macOS. Ketidakmampuan ini mengganggu jika tim Anda seluruhnya berada di Windows atau Linux, atau jika Anda hanya tidak ingin menjaga mesin pembangunan Mac.
Kombinasi dari Capacitor (untuk menghasilkan proyek iOS native) dan Capgo Build (untuk mengompilasi dan menandatangani dalam cloud) memungkinkan Anda melakukan pembangunan iOS dan pengiriman ke TestFlight dari workstation Windows.
Ini adalah panduan yang menunjukkan alur kerja yang praktis yang dapat berfungsi dengan baik dalam tim:
- Membangun pada Windows seperti proyek web biasa.
- Tetapkan
ios/di repositori Anda (sehingga keadaan asli dapat direproduksi). - Jalankan
cap syncsecara lokal (sehingga build web Anda dicopy ke proyek iOS). - Aktifkan build cloud iOS dengan Capgo Build.
Apa yang Sebenarnya Dibangun Dimana
There are two separate “builds” in a Capacitor app:
- build yang terpisah dalam aplikasi __CAPGO_KEEP_0__ :
- Build web (JS/HTML/CSS Anda): Anda lakukan ini secara lokal di Windows. (Xcode arsip, tanda tangan, unggah): Capgo Pembangunan melakukan ini pada perangkat Mac di cloud.
Pemisahan ini adalah kunci: Capgo Pembangunan mengompilasi proyek native, tetapi ia mengharapkan aset web Anda sudah disinkronkan ke ios/.
Persyaratan
- Aplikasi Capacitor yang berfungsi (apapun frameworknya).
- Akun Pengembang Apple.
- Akses ke App Store Connect untuk aplikasi yang ingin Anda unggah (untuk TestFlight/App Store submission).
- Your Capgo account and API token (
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/ secara default):
bun run build
2) Tambahkan Capacitor dan Platform iOS
Pasang Capacitor:
bun add @capacitor/core @capacitor/ios
bun add -d @capacitor/cli
Mulai dan buat folder platform iOS:
bunx cap init
bunx cap add ios
Pada titik ini Anda akan memiliki ios/ directory. Kirimkannya ke git. Capgo Build mengompilasi apa yang ada ios/, jadi Anda inginnya versi dan dapat direproduksi.
3) Selalu Sinkronkan Asset Web ke iOS Sebelum Membangun
Setiap kali Anda mengubah aplikasi web, lakukan urutan ini pada Windows:
bun run build
bunx cap sync ios
cap sync ini yang mengcopy 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
atau atur token Anda melalui env var di shell/CI Anda:
export CAPGO_TOKEN="your_api_key_here"
5) Konfigurasi Tanda Tangan iOS untuk Bangun di Awan
Untuk membangun iOS Anda memerlukan materi tanda tangan:
- Sertifikat Distribusi Apple (
.p12) dan kata sandinya - Profil Pengaturan (
.mobileprovision) - Sambungan 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:
- Mengelola Kredensial (apa yang harus disimpan dan bagaimana)
- Cara Mendapatkan Sertifikat dan Profil Pengaturan iOS
Jalan yang paling mudah adalah: buat/export file-file ini sekali (sering menggunakan Mac apa pun, rekan tim, atau sewaan satu kali), lalu gunakan kembali mereka dari Windows untuk setiap bangun 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"
Trik: di CI, simpan file-file kunci berbasis base64 sebagai rahasia, dekodifikasi mereka pada waktu runtime, lalu jalankan perintah yang sama. build credentials save 6) Aktifkan Build iOS dari Windows
Dari folder aplikasi Anda:
Anda akan melihat log waktu nyata di terminal. Jika kunci App Store Connect Anda sudah terkonfigurasi, __CAPGO_KEEP_0__ Build dapat mengirimkan build hasilnya ke TestFlight secara otomatis.
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
- adding/removing Capacitor plugins
- mengubah ikon/splash
- mengupdate __CAPGO_KEEP_0__
- mengubah Capacitor
- Perubahan Swift/Objective-C apa saja
Untuk perubahan UI sehari-hari dan perbaikan JavaScript, Anda biasanya ingin Pembaruan Langsung (OTA), sehingga Anda tidak perlu membangun biner native setiap kali.
Alur kerja tim yang baik adalah:
- Gunakan Pembaruan Langsung untuk perubahan web yang sering.
- Gunakan Capgo Build secara berkala ketika perubahan native diperlukan.
Kesalahan Umum Windows (dan Solusi)
- Lupa
cap sync: jika perubahan UI Anda tidak muncul di build iOS, Anda mungkin telah membangun aplikasi web tetapi tidak menyinkronkannya keios/. - Tidak memasukkan
ios/: Capgo Build mengompilasi proyek native. Jika folder tidak ada di git (atau tidak ada di konteks build Anda), maka build tidak dapat mereproduksi aplikasi Anda. - Perubahan plugin tanpa membangun asli: menambahkan plugin adalah perubahan asli; rencanakan Capgo Build run (dan pengiriman toko) setelahnya.
Ringkasan
Anda tidak bisa menjalankan Xcode di Windows, tetapi Anda bisa mengirimkan aplikasi iOS dari Windows:
- Bungkus aplikasi web Anda dengan Capacitor (
ios/di repositori Anda). - Buat aset web secara lokal, kemudian
cap sync. - Gunakan Capgo Build untuk mengompilasi, menandatangani, dan mengirimkan binary iOS Anda dari CLI.
Teruskan dari Membangun Aplikasi iOS dari Windows dengan Capacitor dan Capgo Build
Jika Anda menggunakan Buat Aplikasi iOS dari Windows dengan Capacitor dan Capgo Build untuk merencanakan otomatisasi CI/CD, hubungkannya dengan Capgo CI/CD untuk alur kerja produk dalam Capgo CI/CD, Capgo Pembangunan Natively untuk alur kerja produk dalam Capgo Pembangunan Natively, Capgo Integrasi untuk alur kerja produk dalam Capgo Integrasi, Integrasi CI/CD untuk detail implementasi dalam Integrasi CI/CD, dan GitHub Integrasi Aksi untuk detail implementasi dalam GitHub Integrasi Aksi.