Costruire un'app iOS tradizionalmente significa una cosa sola: hai bisogno di Xcode, e Xcode significa macOS. Quel vincolo è fastidioso se il tuo team intero è su Windows o Linux, o se non vuoi mantenere una macchina di build Mac.
La combinazione di Capacitor (per generare il progetto iOS nativo) e Capgo Build (per compilare e firmare in cloud) ti consente di fare build iOS e inviare su TestFlight da una workstation Windows.
Questa guida mostra un workflow pragmatico che funziona bene in team:
- Sviluppa su Windows come un normale progetto web.
- Conserva
ios/in repository (così lo stato nativo è riproducibile). - Esegui
cap synclocalmente (così il tuo build web viene copiato nel progetto iOS). - Avvia un build cloud di iOS con Capgo Build.
Cosa si costruisce effettivamente Dove
C'è una separazione chiave: Capacitor Build compila il progetto nativo, ma si aspetta che i tuoi asset web siano già sincronizzati in
- Prerequisiti Un'app __CAPGO_KEEP_0__ funzionante (qualsiasi framework va bene).
- Un account di sviluppatore Apple. (Xcode archive, signing, upload): Capgo Build does this on Mac hardware in the cloud.
This separation is the key: Capgo Build compiles the native project, but it expects your web assets to already be synced into ios/.
Costruzione nativa
- (Xcode archive, firma, caricamento): Capacitor Build esegue questo su Mac hardware in cloud.
- Si tratta di due costruzioni separate in un'app __CAPGO_KEEP_0__:
- Web build (il tuo JS/HTML/CSS): lo fai localmente su Windows.
- La tua Capgo account e il tuo API token (
CAPGO_TOKEN).
1) Crea o Prepara la tua Capacitor App (Windows)
Se già hai un'app web, salta alle Capacitor istruzioni.
Esempio con Vite:
bun create vite@latest my-app
cd my-app
bun install
Build deve produrre asset statici (per Vite questo è dist/ 2) Aggiungi __CAPGO_KEEP_0__ e la piattaforma iOS
bun run build
Installa Capacitor:
Install Capacitor:
bun add @capacitor/core @capacitor/ios
bun add -d @capacitor/cli
Al momento avrai una
bunx cap init
bunx cap add ios
directory. Committila al git. __CAPGO_KEEP_0__ Build compila ciò che è all'interno ios/ directory. Commit it to git. Capgo Build compiles what is inside ios/1) Crea o Prepara la tua App per Windows (__CAPGO_KEEP_0__) (
3) Sincronizza sempre gli asset web in iOS prima di costruire
E ogni volta che modifichi il tuo'app web, esegui questa sequenza su Windows:
bun run build
bunx cap sync ios
cap sync è ciò che copia i tuoi asset web costruiti nel progetto iOS nativo (i file Capgo Build saranno effettivamente compilati).
4) Installa e autentica il Capgo CLI
Capgo Build viene attivato tramite il Capgo CLI. Con bun, utilizza bunx:
bunx @capgo/cli@latest login
O impostalo tramite variabile di ambiente nel tuo shell/CI:
export CAPGO_TOKEN="your_api_key_here"
5) Configura la firma iOS per le costruzioni in cloud
Per costruire iOS hai bisogno di materiale di firma:
- Certificato di distribuzione Apple (
.p12e la sua password - Profilo di provisioning (
.mobileprovision) - Chiave App Store Connect API (
AuthKey_XXXXXX.p8e metadata (ID chiave, ID emittente, ID team)
Se hai ancora bisogno di generare questi file, segui la documentazione Capgo:
- Gestione delle credenziali (cosa salvare e come)
- Come ottenere i certificati e i profili di provisioning iOS
La via più facile è: crea/esporta questi una volta (spesso utilizzando qualsiasi Mac disponibile, un collega o un noleggio a tempo) e poi riprodurli da Windows per ogni successiva compilazione.
Una volta che hai i file localmente, salvali per 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"
Suggerimento: in CI, memorizza i file delle credenziali in formato base64 come segreti, decodificali in esecuzione, quindi esegui lo stesso build credentials save 6) Avvia una compilazione iOS da Windows
Dal tuo cartella dell'app:
Vedrai i log in tempo reale nel tuo terminale. Se la tua chiave App Store Connect è configurata, __CAPGO_KEEP_0__ Build può inviare automaticamente la compilazione risultante su TestFlight.
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.
7) Itera velocemente: Aggiornamenti in tempo reale per modifiche esclusivamente web
Capgo Build è per modifiche native:
- aggiungere/rimuovere Capacitor plugin
- aggiungere/rimuovere plugin Capgo
- modificare autorizzazioni native
- updating Capacitor
- aggiornare __CAPGO_KEEP_0__
aggiornare l'app modificare Swift/Objective-C Per le correzioni di piccoli dettagli UI e JavaScript, desideri generalmente
Aggiornamenti in tempo reale
- Aggiornamenti in tempo reale (OTA), quindi non ricostruisci il binario nativo ogni volta.
- Usa Capgo Build occasionalmente quando sono necessarie modifiche native.
Trappole comuni di Windows (e soluzioni)
- Dimenticare
cap sync: se le tue modifiche UI mancano nella build iOS, è probabile che tu abbia costruito l'app web ma non l'abbia sincronizzata inios/. - Non commettere
ios/: Capgo Build compila il progetto nativo. Se il folder non è in git (o non è nel tuo contesto di build), la build non può riprodurre la tua app. - Modifiche di plugin senza rebuild nativo: aggiungere un plugin è una modifica nativa; pianifica un run Capgo Build (e una sottoscrizione al store) successivo.
Riepilogo
Non puoi eseguire Xcode su Windows, ma puoi potrai invio app iOS da Windows:
- Avvolgere la tua app web con Capacitor (
ios/nel tuo repository). - Costruisci gli asset web localmente, poi
cap sync. - Usa Capgo Build per compilare, firmare e inviare il tuo binario iOS dal CLI.
Continua con Costruisci un'app iOS da Windows con Capacitor e Capgo Build
Se stai utilizzando Costruisci un'app iOS da Windows con Capacitor e Capgo Build per pianificare l'automazione CI/CD, connettilo con Capgo CI/CD per il flusso di lavoro del prodotto in Capgo CI/CD, Capgo Native Builds per il flusso di lavoro del prodotto in Capgo Native Builds, Capgo Integrazioni per il flusso di lavoro del prodotto in Capgo Integrazioni Integrazione CI/CD per i dettagli di implementazione in Integrazione CI/CD, e GitHub Integrazione delle azioni per i dettagli di implementazione in GitHub Integrazione delle azioni.