Passer au contenu principal
Tutorial

Construire une application iOS à partir de Windows avec Capacitor et Capgo Build

Envoyer une véritable application iOS binaire à partir d'une machine de développement Windows : enveloppez votre application web avec Capacitor, puis utilisez ensuite Capgo Build pour compiler, signer et soumettre à TestFlight sans posséder un Mac.

Martin Donadieu

Martin Donadieu

Responsable de contenu

Construire une application iOS à partir de Windows avec Capacitor et Capgo Build

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 simplement pas envie de maintenir une machine de build Mac.

Le combo de Capacitor (pour générer le projet natif iOS) et Capgo Construction (pour compiler et signer en nuage) vous permet de réaliser des builds iOS et des soumissions de TestFlight à partir d'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.
  • Gardez ios/ dans votre dépôt (afin que l'état natif soit réproducible).
  • Exécutez cap sync localement (afin que votre build web soit copié dans le projet iOS).
  • Déclenchez un build iOS en nuage 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 faites cela localement sur Windows.
  • Construction native (archive Xcode, signature, téléchargement) : Capgo La construction fait cela sur matériel Mac dans le cloud.

C'est cette séparation qui est la clé : Capgo La construction native compile le projet natif, mais elle s'attend à ce que vos actifs web soient déjà synchronisés dans ios/.

Prérequis

  • Un compte de l'application Capacitor fonctionnel (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 de 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 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 par défaut) : 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__ La construction compile ce qui se trouve à 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

Toute fois que vous modifiez votre application Web, effectuez cette séquence sur Windows :

ceci est ce qui copie vos actifs Web construits dans le projet iOS natif (les fichiers __CAPGO_KEEP_0__ La construction les compilera en réalité).

bun run build
bunx cap sync ios

cap sync 4) Installez et authentifiez le Capgo __CAPGO_KEEP_1__

4) Installez et authentifiez le Capgo CLI

Capgo Déclencheur de build 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é d'application Store Connect API (AuthKey_XXXXXX.p8) et les métadonnées (ID clé, ID émetteur, ID d'équipe)

Si vous avez encore besoin de générer ces fichiers, suivez la documentation Capgo :

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 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 base64-encodé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, la __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.

La __CAPGO_KEEP_0__ Build est réservée aux modifications natives :

ajout/removal de plugins Capgo

  • adding/removing Capacitor plugins
  • ajout/removal de plugins __CAPGO_KEEP_0__
  • changer les icônes/d'entrée
  • mettre à jour Capacitor
  • toutes les modifications Swift/Objective-C

Pour les ajustements quotidiens de l'interface utilisateur et les corrections JavaScript, vous voulez généralement Mises à jour en temps réel (OTA), afin de ne pas reconstruire le binôme natif à chaque fois.

Un bon flux de travail d'équipe est :

  • Utilisez les Mises à jour en temps réel pour les modifications web fréquentes.
  • Utilisez Capgo Build occasionnellement lorsque des changements natifs sont nécessaires.

Problèmes courants de Windows (et corrections)

  • L'oubli : si vos modifications d'interface utilisateur manquent dans la version iOS, vous avez probablement construit l'application web mais n'avez pas synchronisé son contenu dans la version iOS. cap syncUtilisez les Mises à jour en temps réel pour les modifications web fréquentes, et utilisez __CAPGO_KEEP_0__ Build occasionnellement lorsque des changements natifs sont nécessaires. ios/.
  • Not commit 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 depuis Windows : Enveloppez votre application web avec __CAPGO_KEEP_0__ (

  1. Wrap your web app with Capacitor (ios/ Compilez les actifs web localement, puis
  2. Utilisez __CAPGO_KEEP_0__ Build pour compiler, signer et soumettre votre fichier binaire iOS depuis le __CAPGO_KEEP_1__. cap sync.
  3. Use Capgo Build to compile, sign, and submit your iOS binary from the 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 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, 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 Actions d'intégration de GitHub pour les détails d'implémentation dans les actions d'intégration de GitHub

Mises à jour en direct pour les applications Capacitor

Lors d'un bug de la couche Web, expédiez la correction à travers Capgo au lieu de attendre des jours pour l'approbation de la boutique d'applications. Les utilisateurs reçoivent l'update en arrière-plan tandis que les changements natifs restent dans la voie de revue normale.

Démarrer maintenant

Dernières actualités de notre Blog

Capgo vous donne les meilleures informations dont vous avez besoin pour créer une application mobile véritablement professionnelle.