Die traditionelle Erstellung einer iOS-App bedeutet traditionell 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 (um es in der Cloud zu kompilieren und zu signieren) lässt Sie iOS-Builds und TestFlight-Submissionen von einem Windows-Workstation ausführen.
Diese Anleitung zeigt eine pragmatische Workflow, der gut in Teams funktioniert:
- Entwickeln Sie auf Windows wie ein normales Web-Projekt.
- Bleiben Sie
ios/in Ihrem Repository (so ist der native Zustand wiederherstellbar). - Führen Sie
cap synclokal durch (so wird Ihr Web-Build in das iOS-Projekt kopiert). - Auslösen Sie einen iOS-Cloud-Build mit Capgo Build.
Was Sie tatsächlich bauen, wo
Es gibt zwei separate „Builds“ in einer Capacitor-App:
- Web-Build (Ihr JS/HTML/CSS): Führen Sie dies lokal auf Windows durch.
- Native-Build (Xcode-Archive, Signieren, Hochladen): Capgo Build führt dies auf Mac-Hardware im Cloud durch.
Der Schlüssel liegt in der Trennung: Capgo Build kompiliert das native Projekt, aber es erwartet, dass Ihre Web-Assets bereits in den Sync gespeichert sind. ios/.
Voraussetzungen
- Eine funktionierende Capacitor-Anwendung (jedes Framework ist in Ordnung).
- Eine Apple-Entwicklerkonto.
- Zugriff auf App Store Connect für die Anwendung, die Sie hochladen möchten (für TestFlight/App Store-Submission).
- Ihr Capgo-Konto und API-Token (
CAPGO_TOKEN).
1) Erstellen oder Vorbereiten Ihrer Capacitor-Anwendung (Windows)
Wenn Sie bereits eine Web-Anwendung haben, überspringen Sie direkt zu den Capacitor-Schritten.
Beispiel mit Vite:
bun create vite@latest my-app
cd my-app
bun install
Die Build-Must-Produkte statische Assets (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. Commiten Sie es in Git. Capgo Build kompiliert, was sich innerhalb befindet ios/, also möchten Sie es versioniert und reproduzierbar haben.
3) Synchronisieren Sie immer Web-Assets in iOS vor der Verarbeitung
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 (die Dateien Capgo Build werden tatsächlich kompilieren) kopiert.
4) Installieren und authentifizieren Sie das Capgo CLI
Capgo Build wird über das Capgo CLI ausgelöst. Mit bun, verwenden Sie bunx:
bunx @capgo/cli@latest login
Oder setzen Sie Ihren Token über Umgebungsvariable in Ihrer Shell/CI:
export CAPGO_TOKEN="your_api_key_here"
5) iOS-Zertifizierung für Cloud-Builds konfigurieren
Um iOS zu bauen, benötigen Sie Signiermaterial:
- Apple-Distributionszertifikat (
.p12) und dessen Passwort - Provisionierungsprofil (
.mobileprovision) - App Store Connect API-Schlüssel (
AuthKey_XXXXXX.p8) und Metadaten (Schlüssel-ID, Aussteller-ID, Team-ID)
Wenn Sie diese Dateien noch generieren müssen, folgen Sie bitte der Capgo-Dokumentation:
- Zugriff auf Anmeldeinformationen (was zu speichern und wie)
- iOS-Zertifikate und Provisionierungsprofile erhalten
Der einfachste Weg ist: Erstellen/Aufrufen dieser einmal (oft mit einem verfügbaren Mac, einem Teamkollegen oder einer einmaligen Miete), dann wiederverwenden Sie sie von Windows für jeden nachfolgenden Build.
Sobald 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"
Tip: In der CI speichern Sie die Zugriffstoken-Dateien base64-codiert als Geheimnisse, entschlüsseln Sie sie bei der Ausführung und führen dann denselben Befehl aus. build credentials save Befehl.
6) Auslösen eines iOS-Builds von Windows
Aus 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 Echtzeit-Protokolle in Ihrem Terminal. Wenn Ihre App Store Connect-Zugriffsschlüssel konfiguriert ist, kann Capgo Build das resultierende Build automatisch an TestFlight übermitteln.
7) Iterieren Sie schnell: Live-Updates für Web- nur-Änderungen
Capgo Build ist für native Änderungen:
- Hinzufügen/Entfernen von Capacitor-Plugins
- Ändern von native Berechtigungen
- Ändern von Icons/Splash
- Aktualisieren von Capacitor
- Jederzeitige Änderungen an Swift/Objective-C
Für alltägliche UI-Anpassungen und JavaScript-Fixes möchten Sie normalerweise Live-Updates (OTA), damit Sie nicht jede Zeit den nativen Binärdatei 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.
Gemeinsame 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 nicht synchronisiert.ios/. - Nicht committieren
ios/: Capgo Build kompiliert den nativen Projekt. Wenn das Verzeichnis nicht in Git (oder nicht in Ihrem 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 nicht auf Windows ausführen, aber Sie können iOS-Apps von Windows aus versenden: Verwenden Sie __CAPGO_KEEP_0__ ( in Ihrem Repository).
- Wrap your web app with Capacitor (
ios/Verwenden Sie __CAPGO_KEEP_0__ Build, um Ihre iOS-Binary zu kompilieren, zu signieren und zur __CAPGO_KEEP_1__-Submission zu übermitteln. - Fahren Sie mit dem Erstellen einer iOS-App von Windows mit __CAPGO_KEEP_0__ und __CAPGO_KEEP_1__ Build fort.
cap sync. - Use Capgo Build to compile, sign, and submit your iOS binary from the CLI.
Keep going from Build an iOS App from Windows with Capacitor and Capgo Build
If you are using Ein iOS-App von Windows mit Capacitor und Capgo erstellen um die CI/CD-Automatisierung zu planen, mit ihr zu verbinden 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 GitHub Actions-Integration für die Implementierungsdetails in GitHub Actions-Integration