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 est entièrement sur Windows ou Linux, ou si vous n'avez pas envie de maintenir une machine de build Mac.
Le mélange de Capacitor (pour générer le projet natif iOS) et Capgo Build (pour le compiler et le signer dans le cloud) vous permet de faire des builds iOS et des soumissions sur TestFlight à partir d'une station de travail Windows.
Cette guide présente un workflow pragmatique qui fonctionne bien en équipe :
- Développez sur Windows comme un projet web normal.
- Gardez
ios/dans votre dépôt (afin que l'état natif soit réproducible). - Exécutez
cap synclocalement (afin que votre build web soit copié dans le projet iOS). - Déclenchez une mise en ligne 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.
- Build natif (archive Xcode, signature, téléchargement) : Capgo Build fait cela sur un matériel Mac en cloud.
Cette 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/.
Prérequis
- Une application Capacitor fonctionnelle (n'importe quel framework est acceptable).
- Un compte développeur Apple.
- D'accès à App Store Connect pour l'application que vous souhaitez télécharger (pour TestFlight/App Store soumission).
- 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 :) dist/ 2) Ajoutez __CAPGO_KEEP_0__ et la plateforme iOS
bun run build
Installez Capacitor :
Install Capacitor:
bun add @capacitor/core @capacitor/ios
bun add -d @capacitor/cli
À ce stade, vous disposerez d'un
bunx cap init
bunx cap add ios
dossier. Commitez-le dans git. __CAPGO_KEEP_0__ Build compile ce qui se trouve à l'intérieur ios/ directory. Commit it to git. Capgo Build compiles what is inside ios/Install __CAPGO_KEEP_0__
3) Synchronisez toujours les actifs Web dans iOS avant de construire
Tout le temps que vous modifiez votre application Web, suivez cette séquence sur Windows :
bun run build
bunx cap sync ios
cap sync ceci est ce qui copie vos actifs Web construits dans le projet natif iOS (les fichiers Capgo Build seront effectivement compilés).
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
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 Apple (
.p12) et son mot de passe - profil de provisionnement (
.mobileprovision) - clé App Store Connect API (
AuthKey_XXXXXX.p8et 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 de Capgo :
- Gestion des Identifiants (ce qu'enregistrer et comment)
- Comment obtenir les certificats iOS et les profils de mise en ligne
La voie la plus facile est : créez/exportez-les une fois (souvent en utilisant n'importe quel Mac disponible, un collègue ou un location à un seul usage), 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 : en CI, stockez les fichiers d'identifiant base64 codés 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.
7) Itérer rapidement : Mises à jour en direct pour les changements web uniquement
Capgo La construction est pour les changements natifs :
- ajouter/supprimer Capacitor plugins
- changer les permissions natives
- changer les icônes/écrans de fond
- mettre à jour Capacitor
- tous les changements Swift/Objective-C
Pour les ajustements de l'interface utilisateur quotidiens et les corrections JavaScript, vous voulez généralement Mises à jour en direct (OTA), afin de ne pas reconstruire le binaire natif à chaque fois.
Un bon flux de travail d'équipe est :
- Utilisez Mises à jour en direct pour les changements web fréquents.
- Utilisez Capgo Build occasionnellement lorsque des changements natifs sont nécessaires.
Problèmes communs de Windows (et corrections)
- Oublier
cap sync: si vos modifications de l'interface utilisateur manquent dans la version iOS, il est probable que vous avez construit l'application web mais n'avez pas synchronisé son contenu dansios/. - Ne pas commiter
ios/: Capgo Build compile le projet natif. Si le dossier n'est pas dans Git (ou pas dans votre contexte de construction), la construction ne peut pas reproduire votre application. - Changements de plugin sans recompilation native : l'ajout d'un plugin est un changement natif ; planifiez une exécution de 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 : Vous pouvez construire et déployer des applications iOS sur Windows, mais vous devez utiliser un environnement de développement qui prend en charge la construction de projets iOS, comme Capgo.
- 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 depuis le CLI.
Continuez avec la construction d'une application iOS à partir de Windows avec Capacitor et Capgo Build
Si vous utilisez Construirez une application iOS à partir de Windows avec Capacitor et Capgo Build pour planifier l'automatisation CI/CD, connectez-le 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, Intégrations Capgo pour le flux de travail du produit dans les Intégrations Capgo Intégration CI/CD pour le détail d'implémentation dans l'Intégration CI/CD Intégration d'Actions GitHub pour le détail d'implémentation dans l'Intégration d'Actions GitHub