Zum Hauptinhalt springen
Tutorial

Ein iOS-App von Windows mit Capacitor und Capgo erstellen

Eine echte iOS-Binary von einem Windows-Entwicklungsmaschine schicken: Ihr Web-App mit Capacitor umwickeln, dann Capgo Build verwenden, um zu kompilieren, zu signieren und auf TestFlight zu übermitteln, ohne einen Mac zu besitzen.

Martin Donadieu

Martin Donadieu

Content Marketer

Ein iOS-App von Windows mit Capacitor und Capgo erstellen

Traditionell bedeutet die Erstellung einer iOS-App eine Sache: 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 nicht eine Mac-Build-Maschine aufrechterhalten möchten.

Die Combo von Capacitor (um die native iOS-Projekt zu generieren) und Capgo Build Lassen Sie es (um es zu kompilieren und zu signieren) Ihnen ermöglichen, iOS-Builds und TestFlight-Einsendungen von einem Windows-Workstation aus durchzuführen.

Diese Anleitung zeigt einen praktischen Workflow, der sich gut in Teams bewährt:

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

Was Sie tatsächlich bauen, wo

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

  • Web-Build (Ihr JS/HTML/CSS): Führen Sie dies lokal auf Windows durch.
  • Nativbau (Xcode-Archiv, Signierung, Upload): Capgo Build führt dies auf Mac-Hardware im Cloud durch.

Dieser Aufteilung liegt der Schlüssel: Capgo Build kompiliert das native Projekt, aber es erwartet, dass Ihre Web-Assets bereits synchronisiert in ios/.

Voraussetzungen

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

1) Erstellen oder Vorbereiten Sie Ihr Capacitor-Projekt (Windows)

Wenn Sie bereits eine Web-App haben, überspringen Sie die Capacitor-Schritte.

Beispiel mit Vite:

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

Die Build-Maschine 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

Initialisieren und erstellen Sie das iOS-Plattform-Verzeichnis:

bunx cap init
bunx cap add ios

Zu diesem Zeitpunkt haben Sie ein ios/ Verzeichnis. Fügen Sie es in Git ein. Capgo Build kompiliert, was sich innerhalb ios/liegt, also möchten Sie es versioniert und reproduzierbar haben.

3) Synchronisieren Sie immer Web-Assets in iOS vor der Build-Operation

Jedes Mal, wenn Sie Ihre Web-Anwendung ändern, führen Sie diese Sequenz auf Windows aus:

bun run build
bunx cap sync ios

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

4) Installieren und authentifizieren Sie das Capgo CLI

Capgo Build wird über den Capgo CLI ausgelöst. Mit bun, verwenden Sie bunx:

bunx @capgo/cli@latest login

Oder setzen Sie Ihren Token über die Umgebungsvariable in Ihrem Shell/CI:

export CAPGO_TOKEN="your_api_key_here"

5) Konfigurieren Sie die iOS-Zertifizierung für Cloud-Builds

Um iOS zu bauen, benötigen Sie Signierungsdaten:

  • Apple-Distributionssertifikat (.p12) und dessen Passwort
  • Zertifizierungsprofil (.mobileprovision)
  • App Store Connect API-Schlüssel (AuthKey_XXXXXX.p8) und Metadaten (Key ID, Issuer ID, Team ID)

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

Der einfachste Weg ist: Erstellen/Aufrufen dieser einmal (oft mit einem beliebigen Mac, einem Teamkollegen oder einer einmaligen Mietmöglichkeit), dann wiederverwenden Sie sie von Windows für jeden nachfolgenden Build.

Einmal, 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 CI speichern Sie die Zugriffskennwortdateien bas64-codiert als Geheimnisse, entschlüsseln Sie sie bei Laufzeit, dann führen Sie denselben build credentials save Befehl aus.

6) Auslösen eines iOS-Builds von Windows

Von Ihrem Anwendungsordner:

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

Sie sehen die Echtzeitprotokolle in Ihrem Terminal. Wenn Ihre App Store Connect-Zugangsdaten konfiguriert sind, kann Capgo Build das resultierende Build automatisch an TestFlight übermitteln.

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

Capgo Build ist für native Änderungen:

  • Hinzufügen/Entfernen von Capacitor-Plugins
  • Ändern von native Berechtigungen
  • Icons und Splash-Screens ändern
  • Aktualisieren Sie Capacitor
  • Jede Änderung an Swift/ObjC

Für alltägliche UI-Anpassungen und JavaScript-Fixes möchten Sie normalerweise Live-Updates (OTA), sodass Sie das native Binärdatei nicht jedes Mal neu erstellen müssen.

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 Sie cap sync: Wenn Ihre UI-Änderungen im iOS-Build fehlen, haben Sie wahrscheinlich die Web-Anwendung erstellt, aber sie nicht synchronisiert haben. ios/.
  • Nicht committieren ios/: Capgo Build kompiliert das native Projekt. Wenn der Ordner nicht in Git (oder nicht in Ihrem Buildkontext) ist, kann die Build nicht die Anwendung wiederherstellen.
  • Plugin-Änderungen ohne native Rebuild: Die Hinzufügung eines Plugins ist eine native Änderung; planen Sie einen Capgo Build-Aufruf (und eine Store-Submission) danach.

Zusammenfassung

Sie können Xcode nicht auf Windows ausführen, aber Sie können iOS-Apps von Windows ausliefern: Verwenden Sie __CAPGO_KEEP_0__ ( in Ihrem Repository).

  1. Wrap your web app with Capacitor (ios/ Verwenden Sie __CAPGO_KEEP_0__ Build, um Ihr iOS-Binärdatei zu kompilieren, zu signieren und von __CAPGO_KEEP_1__ auszusenden.
  2. Sie können Xcode nicht auf Windows ausführen, aber Sie können iOS-Apps von Windows ausliefern: Verwenden Sie __CAPGO_KEEP_0__ (in Ihrem Repository). cap sync.
  3. Bauen Sie Ihre Web-Assets lokal, dann verwenden Sie Capgo Build, um Ihr iOS-Binärdatei zu kompilieren, zu signieren und von CLI auszusenden.

Weitermachen von Build eine iOS App von Windows mit Capacitor und Capgo Build

Wenn Sie " Weitermachen von Build eine iOS App von Windows mit Capacitor und Capgo Build um die CI/CD-Automatisierung zu planen, verbinden Sie es mit Capgo CI/CD für den Produktworkflow in Capgo CI/CD, Capgo 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 Aktionen-Integration für die Implementierungsdetails in GitHub Aktionen-Integration.

Live-Updates für Capacitor-Apps

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

Los geht's jetzt

Neueste von unserem Blog

Capgo gibt Ihnen die besten Einblicke, die Sie benötigen, um ein wirklich professionelles mobiles App zu erstellen.