Membangun aplikasi iOS secara tradisional berarti satu hal: Anda membutuhkan Xcode, dan Xcode berarti macOS. Konstrain ini mengganggu jika seluruh tim Anda 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 Pembangunan (untuk mengompilasi dan menandatanganinya di cloud) memungkinkan Anda melakukan pembangunan iOS dan pengiriman TestFlight dari sebuah workstation Windows.
Panduan ini menunjukkan alur kerja yang praktis yang berfungsi dengan baik dalam tim:
- Buat pada Windows seperti proyek web normal.
- Simpan
ios/di repositori Anda (agar keadaan native dapat direproduksi). - Jalankan
cap syncsecara lokal (agar pembangunan web Anda dicopy ke proyek iOS). - Aktifkan pembangunan iOS di cloud dengan Capgo Build.
Apa yang Anda Bangun di Mana
Ada dua pembangunan terpisah dalam sebuah aplikasi Capacitor:
- Pembangunan Web (JS/HTML/CSS Anda): Anda melakukan ini secara lokal di Windows.
- Pembangunan Asli (Xcode archive, signing, upload): 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/.
Prasyarat
- 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
Harus menghasilkan aset statis (untuk Vite ini adalah dist/ 2) Tambahkan __CAPGO_KEEP_0__ dan Platform iOS
bun run build
Pasang Capacitor:
Install Capacitor:
bun add @capacitor/core @capacitor/ios
bun add -d @capacitor/cli
Pada titik ini Anda akan memiliki
bunx cap init
bunx cap add ios
directory. Kirimkannya ke git. __CAPGO_KEEP_0__ Build mengompilasi apa yang ada ios/ directory. Commit it to git. Capgo Build compiles what is inside ios/3) Selalu Sinkronkan Aset Web ke iOS Sebelum Membangun
Setiap kali Anda mengubah aplikasi web, lakukan urutan ini pada Windows:
ini yang menyalin aset web yang dibangun ke proyek iOS native (file-file __CAPGO_KEEP_0__ Build yang akan sebenarnya dikompilasi).
bun run build
bunx cap sync ios
cap sync 4) Pasang dan Autentikasi Capgo __CAPGO_KEEP_1__
4) Pasang dan Autentikasi Capgo CLI
Capgo Build is triggered via the Capgo CLI. With bun, use bunx:
bunx @capgo/cli@latest login
Dengan __CAPGO_KEEP_3__, gunakan
export CAPGO_TOKEN="your_api_key_here"
Atau tetapkan token Anda melalui variabel lingkungan di shell/CI:
5) Konfigurasi Tanda Tangan iOS untuk Build di Cloud
- Untuk membangun iOS Anda membutuhkan materi tanda tangan:
.p12Sertifikat Distribusi Apple ( - ) dan kata sandinya
.mobileprovision) - App Store Connect API key (
AuthKey_XXXXXX.p8Kunci App Store Connect __CAPGO_KEEP_0__ (
If you still need to generate these files, follow the Capgo documentation:
- Jika Anda masih perlu menghasilkan file-file ini, ikuti dokumentasi __CAPGO_KEEP_0__: Pengelolaan Kredensial (apa yang harus disimpan dan bagaimana)
- Cara Mendapatkan Sertifikat dan Profil Pengaturan iOS
Jalan yang paling mudah adalah: buat/ekspor file-file ini sekali (sering menggunakan Mac yang tersedia, rekan kerja, atau sewa satu kali), lalu 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"
Tips: di CI, simpan file-file kunci base64-encoding sebagai rahasia, dekod mereka pada waktu runtime, lalu jalankan perintah yang sama. build credentials save 6) Jalankan 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
- 8) Menggunakan __CAPGO_KEEP_0__ Build dengan CI/CD
- mengubah ikon/splash
- mengupdate Capacitor
- perubahan Swift/Objective-C apa pun
Untuk perubahan UI sehari-hari dan perbaikan JavaScript, Anda biasanya ingin Pembaruan Langsung (OTA), sehingga Anda tidak harus 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 Perbaikan)
- Lupa
cap sync: jika perubahan UI Anda tidak muncul di build iOS, Anda mungkin telah membangun aplikasi web tetapi tidak menyinkronkannyaios/. - Tidak mengkomit
ios/: Capgo Membangun mengompilasi proyek native. Jika folder tidak ada di git (atau tidak ada di konteks bangun Anda), bangun tidak dapat mereproduksi aplikasi Anda. - Perubahan plugin tanpa pembaruan native: menambahkan plugin adalah perubahan native; rencanakan Capgo Membangun berjalan (dan pengiriman 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 Membangun untuk mengompilasi, menandatangani, dan mengirimkan binary iOS Anda dari CLI.