Zum Hauptinhalt springen
Tutorial

Ein iOS-App von Windows mit Capacitor und Capgo erstellen

Ein echtes iOS-Binär senden von einem Windows-Entwicklungscomputer: Wrap Ihre Web-App mit Capacitor, dann verwenden Sie Capgo Build, um zu kompilieren, zu signieren und an TestFlight zu senden, ohne einen Mac zu besitzen.

Artikelcredits

Martin Donadieu

Autor

Valeria

Rezensent

Jordan

Editor

Bauen Sie eine iOS-App von Windows mit Capacitor und Capgo Build

Traditionell bedeutet das Bauen einer iOS-App eindeutig eines: Sie benötigen Xcode, und Xcode bedeutet macOS. Diese Einschränkung ist ärgerlich, wenn Ihr gesamtes Team auf Windows oder Linux ist oder wenn Sie einfach keine Mac-Build-Maschine aufrechterhalten möchten.

Die Combo von Capacitor (um die native iOS-Projektdatei zu generieren) und Capgo Erstellen (um es im Cloud zu kompilieren und zu signieren) ermöglicht Ihnen iOS-Builds und TestFlight-Einsendungen von einem Windows-Workstation.

Diese Anleitung zeigt einen praktischen Workflow, der in Teams gut funktioniert:

  • Entwickeln Sie auf Windows wie ein normales Web-Projekt.
  • Halten Sie ios/ in Ihrem Repository (damit der native Zustand wiederherstellbar ist).
  • Ausführen cap sync lokale (dann wird Ihre Web-Ausgabe in das iOS-Projekt kopiert).
  • Triggeren Sie einen iOS-Cloud-Build mit Capgo Build.

Auslösen Sie einen iOS-Cloudbuild mit __CAPGO_KEEP_0__ Build.

Es gibt zwei separate „Builds“ in einer Capacitor-Anwendung.

  • Web build (Ihr JS/HTML/CSS): Sie machen das lokal auf Ihrem Windows-Computer.
  • Natives Build (Xcode-Archiv, Signierung, Upload): Capgo Der Build erfolgt auf Mac-Hardware im Cloud-Service.

Dieser Trennung ist der Schlüssel: Capgo Build kompiliert das native Projekt, aber es erwartet, dass Ihre Web-Assets bereits in das Projekt integriert sind. ios/.

Prerequisites

  • Ein funktionierendes Capacitor-App (jedes Framework ist in Ordnung).
  • Eine Apple-Entwicklerkonto.
  • Zugriff auf App Store Connect für die App, die Sie hochladen möchten (für TestFlight/App Store-Submission).
  • Ihr Capgo-Konto und API-Token (CAPGO_TOKEN).

1) Erstellen oder Vorbereiten Sie Ihre Capacitor-App (Windows)

Wenn Sie bereits eine Web-App haben, springen Sie direkt zu den Capacitor Schritten.

Beispiel mit Vite:

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

Die Build-Methode muss statische Assets erzeugen (für Vite ist dies dist/ standardmäßig):

bun run build

2) Fügen Sie Capacitor und die iOS-Plattform hinzu

Installieren Sie Capacitor:

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

Initialisiere und erstelle das iOS-Plattform-Verzeichnis:

bunx cap init
bunx cap add ios

At diesem Punkt hast du ein ios/ Verwende Git, um es zu committen. Capgo Build kompiliert, was sich innerhalb befindet ios/, also möchtest du es versioniert und reproduzierbar haben.

3) Synchronisiere Web-Assets vor der iOS-Buildung

Jedes Mal, wenn du deine Web-Anwendung änderst, führe diese Sequenz auf Windows aus:

bun run build
bunx cap sync ios

cap sync ist das, was deine gebauten Web-Assets in das native iOS-Projekt kopiert (die Dateien Capgo Build werden tatsächlich kompilieren).

4) Installiere und authentifiziere das Capgo CLI

Capgo Build wird über das Capgo CLI ausgelöst. Mit bun verwende bunx:

bunx @capgo/cli@latest login

Setze deine Token über Umgebungsvariable in deinem Shell/CI:

export CAPGO_TOKEN="your_api_key_here"

5) Konfiguriere iOS-Zertifizierung für Cloud-Builds

Um iOS zu bauen, benötigst du Signiermaterial:

  • Apple-Distributionszertifikat (.p12und ihr Passwort
  • Provisionierungsprofil (.mobileprovision)
  • App Store Connect API-Schlüssel (AuthKey_XXXXXX.p8) und Metadaten (Zertifikats-ID, Aussteller-ID, Team-ID)

Wenn Sie diese Dateien noch immer erzeugen müssen, folgen Sie bitte der Capgo-Dokumentation:

Der einfachste Weg ist: Erstellen/Speichern Sie diese einmal (oft mit einem verfügbaren Mac, einem Teamkollegen oder einer einmaligen Mietvereinbarung), dann verwenden Sie sie von Windows aus für jeden nachfolgenden Build.

Wenn Sie die Dateien lokal haben, speichern Sie sie für 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"

Hinweis: In der CI speichern Sie die Dateien als Basis64-codierte Geheimnisse, entschlüsseln Sie sie bei Laufzeit, dann führen Sie denselben build credentials save Befehl aus.

6) Ein iOS-Build von Windows auslösen

Von Ihrem App-Ordner:

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

Sie sehen in Ihrem Terminal Echtzeit-Protokolle. Wenn Ihre App Store Connect-Schlüssel konfiguriert ist, kann Capgo Build das resultierende Build automatisch an TestFlight übermitteln.

7) Schnell iterieren: Live-Updates für Web-Only-Änderungen

Capgo Build ist für native Änderungen:

  • Hinzufügen/Entfernen von Capacitor-Plugins
  • Änderung von native Berechtigungen
  • Änderung von Icons/Splash
  • Update von Capacitor
  • Jede Swift/Objective-C-Änderung

Für alltägliche UI-Anpassungen und JavaScript-Fixes möchten Sie normalerweise Live-Updates (OTA), also nicht jedes Mal den nativeen Binärdatei neu bauen.

Ein gutes Teamworkflow ist:

  • Verwenden Sie Live Updates für häufige Webänderungen.
  • Verwenden Sie Capgo Build gelegentlich, wenn native Änderungen erforderlich sind.

Häufige Windows-Fehler (und Lösungen)

  • Vergessen cap syncWenn Ihre UI-Änderungen im iOS-Build fehlen, haben Sie wahrscheinlich die Web-App gebaut, aber nicht synchronisiert. ios/.
  • Nicht committen ios/: Capgo Build kompiliert den native Projekt. Wenn das Verzeichnis nicht in Git (oder nicht im Buildkontext) ist, kann die Build nicht Ihre App wiederherstellen.
  • Plugin-Änderungen ohne native Rebuild: Hinzufügen eines Plugins ist eine native Änderung; planen Sie einen Capgo Build-Ablauf (und eine Store-Submission) danach.

Zusammenfassung

Sie können Xcode auf Windows nicht ausführen, aber Sie Ja Wrap Ihre Web-App mit __CAPGO_KEEP_0__ (in Ihrem Repository).

  1. Wrap Ihre Web-App mit Capacitor (ios/ in Ihrem Repository.
  2. Builden Sie Web-Assets lokal, dann cap sync.
  3. Verwenden Sie Capgo Build, um Ihr iOS-Binärdatei zu kompilieren, zu signieren und zu übermitteln, von CLI.

Bleiben Sie bei der Erstellung einer iOS-App von Windows mit Capacitor und Capgo weiterhin am Ball.

Wenn Sie Capgo verwenden Bauen Sie eine iOS-App von Windows mit Capacitor und Capgo Build zum Planen der CI/CD-Automatisierung, mit ihm verbinden Capgo CI/CD für den Produktworkflow in Capgo CI/CD, Capgo nativee Native Builds für den Produktworkflow in Capgo Native Builds, Capgo Integrations für den Produktworkflow in Capgo Integrations, CI/CD-Integration für die Implementierungsdetails in CI/CD-Integration, und GitHub Actions-Integration für die Implementierungsdetails in GitHub Actions-Integration.

Live-Updates für Capacitor-Anwendungen

Wenn ein Web-Schicht-Bug live ist, liefern Sie die Reparatur über Capgo anstatt Tage für die Genehmigung des App-Store zu warten. Die Benutzer erhalten die Aktualisierung im Hintergrund, während native Änderungen im normalen Review-Verfahren bleiben.

Menschliche Unterstützung von Martin

Jetzt loslegen

Neueste von unserem Blog

Capgo gibt Ihnen die besten Einblicke, die Sie benötigen, um eine wirklich professionelle mobile App zu erstellen.