Costruire un'app iOS tradizionalmente significa una cosa sola: hai bisogno di Xcode, e Xcode significa macOS. Quel vincolo è fastidioso se tutto il tuo team è su Windows o Linux, o se semplicemente non vuoi mantenere una macchina di build Mac.
La combinazione di Capacitor (per generare il progetto iOS nativo) e Capgo Costruisci (per compilarlo e firmarlo in cloud) ti consente di creare build iOS e di inviare le applicazioni su TestFlight da un workstation Windows.
Questa guida mostra un workflow pragmatico che funziona bene in team:
- Sviluppa su Windows come un normale progetto web.
- Tieni
ios/in repository (in modo che lo stato nativo sia riproducibile). - Esegui
cap synclocalmente (in modo che il build web venga copiato nel progetto iOS). - Attiva un build iOS in cloud con Capgo Costruisci.
Cosa si Costruisce Effettivamente Dove
C'è un solo 'build' separato in un'app Capacitor:
- Costruisci Web (your JS/HTML/CSS): esegui questo localmente su Windows.
- Costruzione nativa (Xcode archive, firma, caricamento): Capgo Il build viene eseguito su hardware Mac nel cloud.
Questa separazione è la chiave: Capgo Build compila il progetto nativo, ma si aspetta che i tuoi asset web siano già sincronizzati ios/.
Requisiti
- Un'applicazione funzionante (Capacitor) (qualsiasi framework va bene).
- Un account di sviluppatore Apple.
- Accesso a App Store Connect per l'app che desiderate caricare (per la sottoscrizione a TestFlight/App Store).
- Il tuo account Capgo e il tuo token API.
CAPGO_TOKEN).
1) Crea o Prepara la tua App Capacitor (Windows)
Se già hai un'app web, salta ai passaggi Capacitor.
Esempio con Vite:
bun create vite@latest my-app
cd my-app
bun install
Deve produrre risorse statiche (per Vite è così di default): dist/ 2) Aggiungi __CAPGO_KEEP_0__ e la piattaforma iOS
bun run build
Installare 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. Commettila al git. __CAPGO_KEEP_0__ Build compila ciò che è all'interno ios/ directory. Commit it to git. Capgo Build compiles what is inside ios/3) Sincronizza sempre le Risorse Web con iOS Prima di Costruire
Ogni volta che modifichi la tua app web, esegui questa sequenza su Windows:
è ciò che copia le tue risorse web costruite nella progetto nativo iOS (i file __CAPGO_KEEP_0__ Build effettivamente compilerà).
bun run build
bunx cap sync ios
cap sync 4) Installare e Autenticare il Capgo __CAPGO_KEEP_1__
4) Install and Authenticate the Capgo CLI
Capgo Build viene attivato tramite il Capgo CLI. Con bun, utilizza bunx:
bunx @capgo/cli@latest login
O impostare il tuo token tramite variabile di ambiente nel tuo shell/CI:
export CAPGO_TOKEN="your_api_key_here"
5) Configura la firma iOS per le costruzioni Cloud
Per costruire iOS hai bisogno di materiale di firma:
- Certificato di distribuzione Apple (
.p12) e la sua password - Profilo di provisioning (
.mobileprovision) - Chiave di accesso App Store Connect API (
AuthKey_XXXXXX.p8) e i metadati (ID chiave, ID emettitore, ID team)
Se ancora hai bisogno di generare questi file, segui la Capgo documentazione:
- Gestione delle credenziali (cosa salvare e come)
- How to Get iOS Certificates and Provisioning Profiles
La via più facile è: crea/esporta questi una volta (spesso utilizzando qualsiasi Mac disponibile, un collega o un noleggio a tempo, quindi ripristinali da Windows per ogni successiva costruzione.
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 di credenziali in codice base64 come segreti, decodificali in esecuzione, quindi esegui lo stesso build credentials save 6) Avvia una costruzione iOS da Windows
Da cartella del tuo 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 il risultato della costruzione 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.
__CAPGO_KEEP_0__ Build è per modifiche native:
aggiungere/rimuovere Capgo plugin
- adding/removing Capacitor plugins
- HTML testo frammento da una stringa di UI Capgo più lunga (chiave padre `capwesome_diff_plugins_capgo`). Pagina/area: pagina di confronto Capwesome. Ruolo: lungo paragrafo di marketing o legale. Visto in: pagina capwesome.astro. Preservare esattamente i termini di prodotto/marca e sviluppatore di Capgo. Chiave di messaggio `capwesome_diff_plugins_capgo` (Capwesome Diff Plugins Capgo).
- aggiornamento di icone/splash
- aggiornamento Capacitor
- qualunque cambiamento in Swift/Objective-C
Per le piccole modifiche alla UI e i problemi di JavaScript, in genere desideri Aggiornamenti in Tempo Reale context: Pagina/Area: Sezione della homepage per problemi/soluzioni. Ruolo: Intestazione di sezione o pagina. Visualizzato in: pagina premium-support.astro. Chiave messaggio `ps_help_updates_title` (Ps Aiuto Aggiornamenti Titolo).
(OTA), quindi non ricostruisci il binario nativo ogni volta.
- Un buon workflow di squadra è:
- Use Capgo Build occasionally when native changes are needed.
Usa __CAPGO_KEEP_0__ Build occasionalmente quando sono necessarie modifiche native.
- Comuni trappole per Windows (e soluzioni)
cap syncDimenticanza (Forgetting): se le tue modifiche alla UI mancano nella build iOS, è probabile che hai costruito l'app web ma non l'hai sincronizzata inios/. - Not commettendo
ios/: Capgo Costruisce il progetto nativo. Se il folder non è in git (o non è nel tuo contesto di build), il build non può riprodurre la tua app. - Le modifiche del plugin senza rebuild nativo: l'aggiunta di un plugin è un cambiamento nativo; pianifica un run di Capgo Build (e una sottoscrizione al store) successivo.
Riepilogo
Non puoi eseguire Xcode su Windows, ma puoi poter invio app iOS da Windows:
- Avvolgi la tua app web con Capacitor (
ios/in il 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 Build un'app iOS da Windows con Capacitor e Capgo Build
Se stai utilizzando Build un'app iOS da Windows con Capacitor e Capgo Build per pianificare l'automazione CI/CD, connettilo con Capgo Automazione CI/CD per il flusso di lavoro del prodotto in Capgo Automazione CI/CD, Capgo Costruzioni native per il flusso di lavoro del prodotto in Capgo Costruzioni native, Capgo Integrazioni per il flusso di lavoro del prodotto in Capgo Integrazioni, Integrazione CI/CD per il dettaglio di implementazione in Integrazione CI/CD, e GitHub Azioni di integrazione per i dettagli di implementazione in GitHub Azioni di integrazione.