Membangun aplikasi iOS secara tradisional berarti satu hal: Anda membutuhkan Xcode, dan Xcode berarti macOS. Ketidakmampuan ini dapat mengganggu jika tim Anda seluruhnya berada di Windows atau Linux, atau jika Anda hanya tidak ingin menjaga mesin pembangun 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 pembangunan di Windows seperti proyek web biasa.
- 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 Pembangunan.
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.
- Build Asli (Arsip Xcode, tanda tangan, unggah): Capgo Build melakukan ini pada perangkat Mac di cloud.
Kunci dari pemisahan ini adalah: Capgo Build mengompilasi proyek asli, 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
Build 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
direktori. 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 adalah yang mengcopy 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) Install and Authenticate the Capgo CLI
Capgo Membangun dilakukan melalui Capgo CLI. Dengan bun, gunakan bunx:
bunx @capgo/cli@latest login
Atau tetapkan 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) - Kunci App Store Connect API (
AuthKey_XXXXXX.p8) dan metadata (ID Kunci, ID Pengirim, ID Tim)
Jika Anda masih perlu menghasilkan file-file ini, ikuti dokumentasi Capgo:
- Pengelolaan Kredensial (apa yang harus disimpan dan bagaimana)
- How to Get iOS Sertifikat dan Profil Pengaturan
The easiest path is: create/export these once (often using any available Mac, a teammate, or a one-time rental), then reuse them from Windows for every subsequent build.
Setelah Anda memiliki file 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 kunci base64-encoded sebagai rahasia, dekod mereka pada waktu runtime, lalu jalankan perintah yang sama. build credentials save 6) Trigger an iOS Build 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 hasil 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 izin native
- Mengubah ikon/splash
- mengupdate 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 kemungkinan besar telah membangun aplikasi web tetapi tidak menyinkronkannya keios/. - Not committing
ios/: Capgo Pembangunan mengompilasi proyek native. Jika folder tidak ada di git (atau tidak ada di konteks pembangunan Anda), pembangunan tidak dapat mereproduksi aplikasi Anda. - Perubahan plugin tanpa rebuild native: menambahkan plugin adalah perubahan native; rencanakan Capgo Pembangunan (dan pengiriman toko) setelahnya.
Ringkasan
Anda tidak dapat menjalankan Xcode di Windows, tetapi Anda dapat mengirimkan aplikasi iOS dari Windows:
- Terapkan aplikasi web Anda dengan Capacitor (
ios/dalam repositori Anda). - Membangun asset web secara lokal, kemudian
cap sync. - Gunakan Capgo Pembangunan 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 Membangun Aplikasi iOS dari Windows dengan Capacitor dan Capgo Build 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, dan Aksi Integrasi GitHub untuk detail implementasi di Aksi Integrasi GitHub