Construire une application iOS traditionnellement signifie 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.
La combinaison de Capacitor (pour générer le projet iOS natif) et Capgo Build (pour compiler et signer dans le cloud) vous permet de réaliser des builds iOS et des soumissions de TestFlight à partir d'un poste de travail Windows.
Ce guide présente une méthode de travail pragmatique qui fonctionne bien en équipe :
- Développez sur Windows comme un projet web normal.
- Conservez
ios/dans votre dépôt (pour que l'état natif soit réproducible). - Exécutez
cap synclocalement (pour que votre build web soit copié dans le projet iOS). - Déclenchez un build iOS cloud 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.
- Build natif (archive Xcode, signature, téléchargement) : Capgo Build fait cela sur matériel Mac dans le cloud.
C'est cette séparation qui est la clé : Capgo Build compile le projet natif, mais il attend que vos actifs web soient déjà synchronisés dans ios/.
Prérequis
- Une application Capacitor fonctionnelle (n'importe quel framework est acceptable).
- 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 (par défaut, pour Vite, c'est) : dist/ 2) Ajoutez __CAPGO_KEEP_0__ et la plateforme iOS
bun run build
Install Capacitor :
Install Capacitor:
bun add @capacitor/core @capacitor/ios
bun add -d @capacitor/cli
À ce stade, vous aurez un
bunx cap init
bunx cap add ios
dossier. Commitez-le dans Git. __CAPGO_KEEP_0__ Build compile ce qui est à l'intérieur ios/ directory. Commit it to git. Capgo Build compiles what is inside ios/3) Synchronisez toujours les Actifs Web dans iOS avant de construire
Tout changement dans votre application web, faites cette séquence sur Windows :
est ce qui copie vos actifs web construits dans le projet natif iOS (les fichiers __CAPGO_KEEP_0__ Build vont effectivement compiler).
bun run build
bunx cap sync ios
cap sync 4) Installez et authentifiez le Capgo __CAPGO_KEEP_1__
4) Install and Authenticate the Capgo CLI
Capgo La construction est déclenchée via le Capgo CLI. Avec bun, utilisez bunx:
bunx @capgo/cli@latest login
Ou définissez votre jeton via une variable d'environnement dans votre shell/CI :
export CAPGO_TOKEN="your_api_key_here"
5) Configurez la signature iOS pour les builds Cloud
Pour construire iOS, vous avez besoin de matériel de signature :
- Certificat de distribution d'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 é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)
- How to Get iOS Certificates and Provisioning Profiles
La voie la plus facile est : créez/exportez ces éléments une fois (souvent en utilisant n'importe quel Mac disponible, un collègue ou un location à usage unique), puis réutilisez-les depuis Windows pour chaque build ultérieur.
Une fois que vous avez les fichiers localement, enregistrez-les pour 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 : dans CI, stockez les fichiers de credenciaux encodés en base64 en tant que secrets, décodez-les en temps de exécution, puis exécutez la même commande. build credentials save 6) Déclenchez une Build iOS depuis Windows
À partir de votre dossier d'application :
Vous verrez des journaux en temps réel dans votre terminal. Si votre clé App Store Connect est configurée, __CAPGO_KEEP_0__ Build peut soumettre la build résultante à TestFlight automatiquement.
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 est pour les changements natifs :
ajout/removal de plugins Capgo
- adding/removing Capacitor plugins
- ajout/removal de plugins Capgo (ajout/removal de plugins native). Page/zone : page de comparaison Capawesome. Rôle : long paragraphe de marketing ou juridique. Vu dans : page capwesome.astro. Conservez les termes de produit/marque et les termes de développeur exactement. Message clé `capwesome_diff_plugins_capgo` (Capwesome Diff Plugins Capgo).
- changer les icônes/d'attente
- mettre à jour Capacitor
- toute modification Swift/Objective-C
Pour les ajustements quotidiens de l'interface utilisateur et les corrections JavaScript, vous souhaitez généralement Actualisations en Ligne context : Section ou page d'accueil. Rôle : En-tête de section ou de page. Vu dans : page premium-support.astro. Clé de message `ps_help_updates_title` (Ps Help Updates Title).
(OTA), afin de ne pas reconstruire le binôme natif à chaque fois.
- Un bon flux de travail d'équipe est :
- Use Capgo Build occasionally when native changes are needed.
Utilisez __CAPGO_KEEP_0__ Build occasionnellement lorsque des modifications natives sont nécessaires.
- Pièges communs de Windows (et corrections)
cap syncOublier : si vos modifications d'interface utilisateur manquent dans la construction iOS, vous avez probablement construit l'application web mais n'avez pas synchronisé son contenuios/. - Not commettons
ios/: Capgo La compilation du 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 native: l'ajout d'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 pouvez envoyer des applications iOS à partir de Windows :
- Enveloppez votre application web avec Capacitor (
ios/dans votre dépôt). - Construirez les actifs web localement, puis
cap sync. - Utilisez Capgo Build pour compiler, signer et soumettre votre fichier binaire iOS à partir du CLI.
Continuez à partir de Construire une application iOS à partir de Windows avec Capacitor et Capgo Build
Si vous utilisez Construire une application iOS à partir de Windows avec Capacitor et Capgo Build pour planifier l'automatisation de la 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 Actions Integration for the implementation detail in GitHub Actions Integration.