Aller au contenu principal
Tutoriel

Compilez une app iOS depuis Windows avec Capacitor et Capgo Build

Déployez un véritable binaire iOS depuis un PC Windows : enveloppez votre application web avec Capacitor, puis utilisez Capgo Build pour compiler, signer et envoyer sur TestFlight sans avoir de Mac.

Compilez une app iOS depuis Windows avec Capacitor et Capgo Build

Compiler une application iOS signifie traditionnellement une chose : il faut Xcode, et Xcode implique macOS. Cette contrainte est pénible si toute votre équipe est sous Windows ou Linux, ou si vous ne voulez tout simplement pas maintenir une machine de build Mac.

La combinaison de Capacitor (pour générer le projet iOS natif) et Build Capgo (pour compiler et signer l'app dans le cloud) vous permet de réaliser des builds iOS et des soumissions TestFlight depuis un poste Windows.

Ce guide présente un workflow pragmatique qui fonctionne parfaitement en équipe :

  • Développez sur Windows comme un projet web classique.
  • Conservez ios/ dans votre repo (pour que l'état natif soit reproductible).
  • Exécutez cap sync en local (pour que votre build web soit copié dans le projet iOS).
  • Déclenchez un build cloud iOS avec Capgo Build.

Ce que vous buildez réellement et où

Il existe deux « builds » distincts dans une application Capacitor :

  • Build web (votre JS/HTML/CSS) : vous faites cela localement sur Windows.
  • Build natif (archive Xcode, signature, upload) : Capgo Build effectue cela sur du matériel Mac dans le cloud.

Cette séparation est la clé : Capgo Build compile le projet natif, mais il s'attend à ce que vos assets web soient déjà synchronisés dans ios/.

Prerequisites

  • A working Capacitor app (any framework is fine).
  • Un compte Apple Developer.
  • Un accès à App Store Connect pour l'application que vous souhaitez uploader (pour la soumission TestFlight/App Store).
  • Votre compte Capgo et votre token API (CAPGO_TOKEN).

1) Créer ou préparer votre application Capacitor (Windows)

Si vous avez déjà une application web, passez directement aux étapes Capacitor.

Exemple avec Vite :

bun create vite@latest my-app
cd my-app
bun install

Le build doit produire des assets statiques (pour Vite, c'est dist/ par défaut) :

bun run build

2) Ajoutez Capacitor et la plateforme iOS

Installer Capacitor :

bun add @capacitor/core @capacitor/ios
bun add -d @capacitor/cli

Initialiser et créer le dossier de la plateforme iOS :

bunx cap init
bunx cap add ios

À ce stade, vous aurez un ios/ répertoire. Commitez-le sur git. Capgo Build compile le contenu ios/, il doit donc être versionné et reproductible.

3) Synchronisez toujours les assets web vers iOS avant le build

Chaque fois que vous modifiez votre application web, suivez cette séquence sur Windows :

bun run build
bunx cap sync ios

cap sync ce qui copie vos assets web compilés dans le projet iOS natif (les fichiers que Capgo Build va réellement compiler).

4) Installez et authentifiez le Capgo CLI

Le build de Capgo est déclenché via le Capgo CLI. Avec bun, utilisez bunx:

bunx @capgo/cli@latest login

Ou configurez votre token via une variable d'env dans votre shell/CI :

export CAPGO_TOKEN="your_api_key_here"

5) Configurez la signature iOS pour les builds cloud

To build iOS you need signing material:

  • Certificat Apple Distribution (.p12) et son mot de passe
  • Profil de provisionnement (.mobileprovision)
  • Clé API App Store Connect (AuthKey_XXXXXX.p8) et les métadonnées (Key ID, Issuer ID, Team ID)

Si vous devez encore générer ces fichiers, suivez la documentation Capgo :

La méthode la plus simple : créez ou exportez-les une seule fois (souvent avec un Mac disponible, un collègue ou une location ponctuelle), puis réutilisez-les depuis Windows pour chaque build ultérieur.

Une fois les fichiers en local, 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"

Astuce : en CI, stockez les fichiers d'identifiants encodés en base64 dans vos secrets, décodez-les au runtime, puis lancez la même commande build credentials save commande.

6) Déclenchez un build iOS depuis Windows

Depuis le dossier de votre application :

bun run build
bunx cap sync ios
bunx @capgo/cli@latest build com.example.app --platform ios --build-mode release

Vous verrez les logs en temps réel dans votre terminal. Si votre clé App Store Connect est configurée, Capgo Build peut envoyer automatiquement le build obtenu sur TestFlight.

7) Itérez vite : live updates pour les modifications web uniquement

Capgo Build est destiné aux changements natifs :

  • l'ajout ou la suppression de Capacitor plugins
  • la modification des permissions natives
  • modification des icônes/splash
  • mise à jour de Capacitor
  • tout changement Swift/Objective-C

Pour les ajustements d'UI quotidiens et les corrections JavaScript, vous voudrez généralement Live Update(s) (OTA), afin de ne pas recompiler le binaire natif à chaque fois.

Un bon workflow d'équipe est :

  • Utiliser Live Updates pour les changements web fréquents.
  • Utiliser Capgo Build occasionnellement quand des changements natifs sont nécessaires.

Pièges courants sur Windows (et solutions)

  • Oublier cap sync: si vos changements UI manquent dans le build iOS, vous avez probablement compilé l'app web mais ne l'avez pas synchronisée dans ios/.
  • Non commitée ios/: Le Capgo Build compile le projet natif. Si le dossier n'est pas dans git (ou pas dans votre contexte de build), le build ne pourra pas reproduire votre app.
  • Modifications de plugins sans rebuild natif: ajouter un plugin est un changement natif ; prévoyez un Capgo Build (et une soumission sur les stores) par la suite.

Résumé

Vous ne pouvez pas lancer Xcode sur Windows, mais vous pouvez déployer des apps iOS depuis Windows :

  1. Enveloppez votre web app avec Capacitor (ios/ dans votre repo).
  2. Compilez vos assets web localement, puis cap sync.
  3. Utilisez Capgo Build pour compiler, signer et soumettre votre binaire iOS depuis le CLI.

Continuer la lecture : Compiler une app iOS depuis Windows avec Capacitor et Capgo Build

Si vous utilisez Compilez une app iOS depuis Windows avec Capacitor et Capgo Build pour planifier l'automatisation CI/CD, et le connecter avec CI/CD Capgo pour le workflow produit dans le CI/CD de Capgo, Capgo Native Build pour le workflow produit dans les Native Builds de Capgo, Intégrations Capgo pour le workflow produit dans les intégrations de Capgo, Intégration CI/CD pour le détail d'implémentation dans l'intégration CI/CD, et Intégration GitHub Actions pour les détails d'implémentation de l'intégration GitHub Actions.

Live updates pour les apps Capacitor

Lorsqu'un bug de la couche web est en ligne, déployez le correctif via Capgo au lieu d'attendre des jours l'approbation des stores. Les utilisateurs reçoivent la mise à jour en arrière-plan, tandis que les changements natifs suivent le circuit de validation habituel.

Les derniers articles du blog

Capgo vous offre les meilleures informations pour créer une application mobile vraiment professionnelle.