Passer au contenu principal
Guide

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

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

Martin Donadieu

Martin Donadieu

Spécialiste du 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 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 sync localement (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 :

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 contenu ios/.
  • 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 :

  1. Enveloppez votre application web avec Capacitor (ios/ dans votre dépôt).
  2. Construirez les actifs web localement, puis cap sync.
  3. 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.

Mises à jour en direct pour les applications Capacitor

When a web-layer bug is live, ship the fix through Capgo instead of waiting days for app store approval. Users get the update in the background while native changes stay in the normal review path.

Page/zone : Site web de marketing Capgo. Rôle : Phrase de copie du site web. Vu dans : composant GetStarted.astro. Préservons les termes de produit/marque et les termes de développeur exactement. Message clé `instant_updates_for_capacitor_apps` (Mises à jour instantanées pour les applications Capacitor).

Quand un bug de layer Web est en direct, expédiez la correction par le biais de __CAPGO_KEEP_0__ au lieu d'attendre des jours pour l'approbation de l'app store. Les utilisateurs reçoivent la mise à jour en arrière-plan tandis que les changements natifs restent dans la voie de revue normale.

context

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