La construction traditionnelle d'une application iOS implique généralement une chose : vous avez besoin de Xcode, et Xcode signifie macOS. Cette contrainte est gênante si votre équipe entière est sur Windows ou Linux, ou si vous n'avez pas envie de maintenir une machine de build Mac.
Le combo de Capacitor (générer le projet iOS natif) et Capgo Build Permet d'effectuer des compilations et des soumissions de TestFlight iOS depuis un poste de travail Windows.
Cette guide présente un workflow pragmatique qui fonctionne bien en équipe :
- Développez sur Windows comme un projet web normal.
- Conservation
ios/dans votre dépôt (pour que l'état natif soit réproducible). - Exécutez
cap syncLocalement (donc votre build web est copié dans le projet iOS). - Déclenchez un build cloud iOS avec Capgo Build.
Ce que vous construisez vraiment où
Il existe deux « builds » séparés dans une application Capacitor :
- Build web (votre JS/HTML/CSS) : vous faites cela localement sur Windows.
- Construction natif (Archive Xcode, signature, upload) : Capgo Build effectue cela sur matériel Mac dans le cloud.
Ce séparation est la clé : Capgo Build compile le projet natif, mais il attend que vos actifs web soient déjà synchronisés dans ios/.
Prerequisites
- A working Capacitor app (any framework is fine).
- Un compte développeur Apple.
- L'accès à App Store Connect pour l'application que vous souhaitez télécharger (pour TestFlight/ soumission sur l'App Store).
- Votre compte Capgo et votre jeton API (
CAPGO_TOKEN).
1) Créez ou Préparez votre application Capacitor (Windows)
Si vous avez déjà une application web, sautez directement aux étapes Capacitor.
Exemple avec Vite :
bun create vite@latest my-app
cd my-app
bun install
La construction doit produire des actifs statiques (pour Vite, c'est dist/ par défaut) :
bun run build
2) Ajoutez Capacitor et la plateforme iOS
Installez Capacitor :
bun add @capacitor/core @capacitor/ios
bun add -d @capacitor/cli
Initialisez et créez le dossier de la plateforme iOS :
bunx cap init
bunx cap add ios
À ce stade, vous disposerez d'un ios/ répertoire. Commitez-le dans Git. Capgo Build compile ce qui se trouve à l'intérieur ios/donc vous souhaitez qu'il soit versionné et réproducible.
3) Synchronisez toujours les Actifs Web dans iOS avant de construire
Toute fois que vous modifiez votre application web, effectuez cette séquence sur Windows :
bun run build
bunx cap sync ios
cap sync est ce qui copie vos actifs web construits dans le projet natif iOS (les fichiers Capgo Build compileront en réalité).
4) Installez et authentifiez le Capgo CLI
Capgo Build est déclenché via le Capgo CLI. Avec bun, utilisez bunx:
bunx @capgo/cli@latest login
Or set your token via env var in your shell/CI:
export CAPGO_TOKEN="your_api_key_here"
5) Configurez la signature iOS pour les builds Cloud
To build iOS you need signing material:
- Certificat de distribution Apple (
.p12) et son mot de passe - Profil de provisionnement (
.mobileprovision) - Clé d'App Store Connect API (
AuthKey_XXXXXX.p8) et les métadonnées (ID de clé, ID d'émetteur, ID d'équipe)
Si vous avez encore besoin de générer ces fichiers, suivez la documentation Capgo :
- Gestion des identifiants (ce que sauvegarder et comment)
- Comment obtenir les certificats et les profils de provisionnement iOS
La voie la plus facile est : créer/exporter ces fichiers une fois (souvent en utilisant n'importe quel Mac, un collègue ou un location à temps partagé), puis les réutiliser à partir de Windows pour chaque build ultérieur.
Une fois que vous avez les fichiers localement, enregistrez-les pour la 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"
Conseil : en CI, stockez les fichiers de clés d'accès en base64 sous forme de secrets, décodez-les en temps de exécution, puis exécutez le même build credentials save command.
À partir de votre dossier d'application :
À partir de votre dossier d'application :
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.
La __CAPGO_KEEP_0__ Build est pour les modifications natives :
ajouter/supprimer des plugins Capgo
- ajoutant/supprimant des plugins Capacitor
- changer les icônes/splash
- __CAPGO_KEEP_0__ Build est pour les modifications natives :
- mise à jour Capacitor
- toutes les modifications Swift/Objective-C
Pour les ajustements UI quotidiens et les corrections JavaScript, vous souhaitez généralement Mises à jour en direct (OTA), so you do not rebuild the native binary every time.
Un bon flux de travail d'équipe est :
- Un bon flux de travail d'équipe est :
- Use Capgo Build occasionally when native changes are needed.
Pièges communs de Windows (et corrections)
- Forgetting
cap sync: if your UI changes are missing in the iOS build, you likely built the web app but did not sync it intoios/. - Pas de commit
ios/: Capgo Build compile le projet natif. Si le dossier n'est pas dans Git (ou pas dans votre contexte de build), la build ne peut pas reproduire votre application. - Les modifications de plugin sans recompilation nativeAjouter un plugin est une modification native ; planifiez une Capgo Build (et une soumission de magasin) par la suite.
Résumé
Vous ne pouvez pas exécuter Xcode sur Windows, mais vous can Enveloppez votre application web avec __CAPGO_KEEP_0__ (
- Wrappez votre application web avec Capacitor (
ios/Construire les actifs web localement, puis - Construirez les actifs web localement, puis
cap sync. - Continuez avec la construction d'une application iOS à partir de Windows avec Capgo et CLI Build
Continuez à construire une application iOS à partir de Windows avec Capacitor et Capgo.
Si vous utilisez Construirez une application iOS à partir de Windows avec Capacitor et Capgo Construire pour planifier l'automatisation CI/CD, connectez-l’avec Capgo CI/CD pour le flux de travail du produit dans Capgo CI/CD, Capgo Builds natifs pour le flux de travail du produit dans Capgo Builds natifs, Capgo Intégrations pour le flux de travail du produit dans Capgo Intégrations, Intégration CI/CD pour le détail d'implémentation dans Intégration CI/CD, et GitHub Intégration d'actions détails d'implémentation dans GitHub Actions d'intégration.