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 synclokale (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:
- Verwaltung von Anmeldeinformationen (was zu speichern ist und wie)
- Wie Sie iOS-Zertifikate und Provisionierungsprofile erhalten
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).
- Wrap Ihre Web-App mit Capacitor (
ios/in Ihrem Repository. - Builden Sie Web-Assets lokal, dann
cap sync. - 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.