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 sous Windows ou Linux, ou si vous n'avez pas envie de maintenir une machine de build Mac.
Le mélange de Capacitor Le combo de Capgo (pour générer le projet iOS natif) et __CAPGO_KEEP_0__ Build (pour compiler et signer en nuage) vous permet de faire des builds iOS et des soumissions de TestFlight à partir d'une station de travail Windows.
Cet article présente un workflow pragmatique qui fonctionne bien en équipe :
- Développez sous Windows comme un projet web normal.
- Conservez
ios/__CAPGO_KEEP_0__ 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 cloud iOS avec Capgo Build.
Ce que vous construisez en réalité où
Il existe deux « builds » séparés dans une application Capacitor :
- Build web (votre JS/HTML/CSS) : vous le faites localement sur Windows.
- Build natif (archive Xcode, signature, téléchargement) : Capgo Build le fait sur du matériel Mac dans le 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 Apple Developer.
- Accès à App Store Connect pour l'application que vous souhaitez télécharger (pour TestFlight/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 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
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
3) Configurez votre projet iOS ios/ répertoire. Commitez-le dans Git. Capgo Construire compile ce qui est à l'intérieur ios/donc vous voulez 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 ceci est ce qui copie vos actifs web construits dans le projet natif iOS (les fichiers Capgo Construire qui seront effectivement compilés)
4) Installez et authentifiez le Capgo CLI
Capgo Construire 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 d'Apple (
.p12) et son mot de passe - Profil de provisionnement (
.mobileprovision) - Clé App Store Connect API (
AuthKey_XXXXXX.p8) et 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 Capgo documentation :
- Gestion des identifiants (ce qu'il faut sauvegarder et comment)
- Comment obtenir des certificats et des profils de provisionnement iOS
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 à la journée), puis réutilisez-les depuis Windows pour chaque build ultérieur.
Une fois que vous avez les fichiers localement, sauvegardez-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 d'identifiant base64-encodés en tant que secrets, décodez-les en temps de exécution, puis exécutez la même build credentials save 6) Déclenchez une build iOS depuis Windows
6) Déclenchez une build iOS depuis Windows
À 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
Vous verrez des journaux en temps réel dans votre terminal. Si votre clé App Store Connect est configurée, Capgo Build peut soumettre la build résultante à TestFlight automatiquement.
7) Itérer rapidement : Mises à jour en temps réel pour les modifications uniquement web
Capgo Build est pour les modifications natives :
- ajouter/supprimer des Capacitor plugins
- context : Fragment de texte HTML d'une chaîne de Capgo plus longue (clé parente `capwesome_diff_plugins_capgo`). Zone/section : page de comparaison Capawesome. Rôle : Paragraphe de marketing ou juridique long. Voir : page capwesome.astro. Conservez les termes de produit/marque et les termes de développeur exactement. Clé de message `capwesome_diff_plugins_capgo` (Capwesome Diff Plugins Capgo).
- changer les permissions natives
- updating Capacitor
- mettre à jour des __CAPGO_KEEP_0__
changer tout changement Swift/Objective-C Pour les ajustements de UI quotidiens et les corrections JavaScript, vous voulez généralement Les mises à jour en temps réel (OTA), afin de ne pas rebuild le binôme natif à chaque fois.
A un bon workflow d'équipe, il faut :
- Utilisez les mises à jour en direct pour les changements web fréquents.
- Utilisez Capgo Build occasionnellement lorsque des changements natifs sont nécessaires.
Les pièges courants de Windows (et les corrections)
- Oublier
cap sync: si vos changements de UI manquent dans la mise en production iOS, il est probable que vous avez construit l'application web mais n'avez pas synchronisé le projet.ios/. - Ne pas commiter
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. - Changer les plugins sans rebuild natif: ajouter un plugin est un changement natif; prévoyez 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 utiliser Capacitor pour construire une application iOS sur Windows avec Capgo Build. 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 de CLI.
Continuez avec la construction d'une application iOS à partir de Windows avec Capacitor et Capgo Build
Si vous utilisez la construction d'une application iOS à partir de Windows avec Capacitor et Capgo Build pour planifier l'automatisation CI/CD, connectez-l’avec Capgo CI/CD pour le flux de travail du produit dans Capgo CI/CD, Capgo Développements natifs pour le flux de travail du produit dans Capgo Développements 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 pour le détail d'implémentation dans GitHub Intégration d'actions