Ein iOS-App entwickeln bedeutet traditionell 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 das native iOS-Projekt zu generieren) und Capgo Build (um es im Cloud zu kompilieren und zu signieren) ermöglicht Ihnen iOS-Builds und TestFlight-Einsendungen von einem Windows-Workstation.
Dieses Leitfaden zeigt einen pragmatischen Workflow, der in Teams gut funktioniert:
- Entwickeln Sie auf Windows wie ein normales Web-Projekt.
- Behalten Sie
ios/im Repository (damit der native Zustand wiederherstellbar ist). - Ausführen Sie
cap synclokal (damit Ihr Web-Build in das iOS-Projekt kopiert wird). - Ein iOS-Cloud-Build auslösen mit Capgo Build.
Was Sie eigentlich bauen, wo
Es gibt zwei separate "Bauten" in einer Capacitor App:
- Web-Bau (Ihr JS/HTML/CSS): Sie tun dies lokal auf Windows.
- Natives Bau (Xcode-Archive, Signieren, Hochladen): Capgo Build tut dies auf Mac-Hardware im Cloud.
Diese Trennung ist 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 (jedes Framework ist in Ordnung).
- Ein 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 Ihres Capacitor Apps (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-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
Initialisieren und erstellen Sie den iOS-Plattform-Ordner:
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 ios/findet, also möchten Sie es versioniert und reproduzierbar haben.
3) Synchronisiere Web-Assets immer vor der iOS-Buildung
Jedes Mal, wenn du deine Web-Anwendung änderst, führ diese Sequenz auf Windows durch:
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 kompiliert).
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
Oder setze deinen Token über eine 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 Zertifizierungsmaterial:
- Apple-Distribution-Zertifikat (
.p12) und dessen Passwort - Provisioning-Profil (
.mobileprovision) - App Store Connect API-Sicherheitszertifikat (
AuthKey_XXXXXX.p8und Metadaten (Sicherheits-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 Provisioning-Profile erhalten
Der einfachste Weg ist: Erstellen/Ausführen dieser einmal (oft mithilfe eines verfügbaren Mac, eines Teamkollegen oder einer einmaligen Mietvereinbarung), dann wiederverwenden Sie sie von Windows für jeden nachfolgenden Build.
Einmal, wenn Sie die Dateien lokal haben, speichern Sie sie für den 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"
Tipp: In der CI speichern Sie die Anmeldeinformationen in Basis64-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 App-Ordner:
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-Schlüssel konfiguriert ist, kann Capgo Build das resultierende Build automatisch an TestFlight übermitteln.
7) Iteriere schnell: Live-Updates für Web-Only-Änderungen
Capgo Das Build ist für native Änderungen:
- Hinzufügen/Entfernen von Capacitor-Plugins
- Änderung von native Berechtigungen
- Änderung von Icons/Splash
- Aktualisierung 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 das native Binärdatei nicht jedes Mal neu erstellen müssen. Ein gutes Team-Workflow ist:
Verwenden Sie Live-Updates für häufige Web-Änderungen.
- __CAPGO_KEEP_0__ Build ist für native Änderungen:
- Verwenden Sie Capgo Build gelegentlich, wenn native Änderungen erforderlich sind.
Häufige Windows-Fehler (und Lösungen)
- Vergessen
cap sync: Wenn Ihre UI-Änderungen im iOS-Build fehlen, haben Sie wahrscheinlich die Web-App gebaut, aber nicht synchronisiert.ios/. - Nicht committieren
ios/: Capgo Build kompiliert das native 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: Die Hinzufügung 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 können iOS-Apps von Windows ausliefern:
- Verwenden Sie Capacitor (
ios/in Ihrem Repository). - Bauen Sie Web-Assets lokal, dann
cap sync. - Use Capgo Build to compile, sign, and submit your iOS binary from the CLI.
Bleiben Sie bei der Erstellung eines iOS-Apps von Windows mit Capacitor und Capgo Build.
Wenn Sie Bauen Sie ein 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 das Produktworkflow in Capgo CI/CD, Capgo Native Builds für das 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.