Traditionell bedeutet die Erstellung eines iOS-Anwendungsprojekts, dass Sie Xcode benötigen, und Xcode bedeutet macOS. Diese Einschränkung ist ärgerlich, wenn Ihr gesamtes Team auf Windows oder Linux arbeitet oder wenn Sie einfach keine Mac-Build-Maschine aufrechterhalten möchten.
Die Combination von Capacitor und Capgo Build lässt Sie iOS-Builds und TestFlight-Einsendungen von einem Windows-Workstation aus durchführen.
Dieses Leitfaden zeigt eine praktische Workflow-Anleitung, die sich gut in Teams bewährt:
- Entwickeln Sie auf Windows wie ein normales Web-Projekt.
- Halten Sie
ios/im Repository (damit der native Zustand wiederherstellbar ist). - Führen Sie
cap synclokal durch (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
Es gibt zwei separate "Bauten" in einer Capacitor-Anwendung:
- Web-Bau (Ihr JS/HTML/CSS): Sie tun dies lokal auf Windows.
- Natives Bau (Xcode-Archiv, 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 sind in ios/.
Voraussetzungen
- Eine funktionierende Capacitor-Anwendung (jedes Framework ist in Ordnung).
- Ein 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 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
Build muss statische Assets erzeugen (für Vite ist dies dist/ 2) Fügen Sie __CAPGO_KEEP_0__ und die iOS-Plattform hinzu
bun run build
Installieren Sie Capacitor:
Install Capacitor:
bun add @capacitor/core @capacitor/ios
bun add -d @capacitor/cli
In diesem Punkt haben Sie ein
bunx cap init
bunx cap add ios
Verzeichnis. Fügen Sie es in Git ein. __CAPGO_KEEP_0__ Build kompiliert, was sich darin befindet, daher möchten Sie es versioniert und reproduzierbar haben. ios/ directory. Commit it to git. Capgo Build compiles what is inside ios/, so you want it versioned and reproducible.
3) Synchronisiere Web-Assets immer vor dem iOS-Build
Jedes Mal, wenn du deine Web-Anwendung änderst, füge diese Sequenz auf deinem Windows-Computer hinzu:
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 kannst du 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 Zertifikatsmaterial:
- Apple-Distribution-Zertifikat (
.p12) und dessen Passwort - Provisioning-Profil (
.mobileprovision) - App Store Connect API-Schlüssel (
AuthKey_XXXXXX.p8und die Metadaten (Sicherheits-ID, Aussteller-ID, Team-ID)
Wenn Sie diese Dateien immer noch generieren müssen, folgen Sie bitte der Capgo-Dokumentation:
- Verwaltung von Anmeldeinformationen (was zu speichern und wie)
- Erwerb von iOS-Zertifikaten und Bereitstellungsprofilen
Der einfachste Weg ist: Erstellen/Auflisten dieser einmal (oft mit einem verfügbaren Mac, einem Teammitglied oder einer einmaligen Mietvereinbarung), dann wiederverwenden Sie sie von Windows für jeden nachfolgenden Build.
Speichern Sie diese Dateien lokal und 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 mit Anmeldeinformationen base64-codiert als Geheimnisse, entschlüsseln Sie sie bei der Ausführung und führen Sie dann denselben Befehl aus. build credentials save 6) Auslösen eines iOS-Builds von Windows
Von Ihrem App-Ordner:
Sie sehen die Echtzeitprotokolle in Ihrem Terminal. Wenn Ihre App Store Connect-Schlüssel konfiguriert ist, kann __CAPGO_KEEP_0__ Build das resultierende Build automatisch an TestFlight übermitteln.
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-Schlüssel konfiguriert ist, kann Capgo Build das resultierende Build automatisch an TestFlight übermitteln.
7) Iteriere schnell: Live-Updates für Web-Änderungen nur
Capgo Build ist für native Änderungen:
- Capacitor-Plugins hinzufügen/entfernen
- kontext: HTML-Textfragment aus einem längeren Capgo-UI-String (Elternschlüssel `capwesome_diff_plugins_capgo`). Seite/Bereich: Capawesome-Vergleichsseite. Rolle: Langer Marketing- oder Rechtsparagraph. Gesehen in: Seite capwesome.astro. Capgo-Produkt-/Marken- und Entwicklertitel genau beibehalten.
- __CAPGO_KEEP_0__-Berechtigungen ändern
- Capacitor-Icons/Splash ändern
- __CAPGO_KEEP_0__ aktualisieren
__CAPGO_KEEP_0__-Swift/Objective-C-Änderungen Für alltägliche UI-Anpassungen und JavaScript-Fixes möchten Sie normalerweise Live-Updates
kontext: Seite/Bereich: Homepage-Problemlösungsabschnitt. Rolle: Abschnitts- oder Seitenüberschrift. Gesehen in: Seite premium-support.astro. Nachrichtenschlüssel `ps_help_updates_title` (Ps Hilfe Updates Titel).
- (OTA), also müssen Sie das native Binärdatei nicht bei jeder Änderung neu erstellen.
- 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-Aufruf (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 Ihre Web-Assets lokal, dann
cap sync. - Verwenden Sie Capgo Build, um Ihre iOS-Binärdatei zu kompilieren, zu signieren und zu übermitteln, von CLI.
Fahren Sie mit dem Aufbau einer iOS-App von Windows mit Capacitor und Capgo Build fort.
Wenn Sie eine iOS-App von Windows mit Capacitor und Capgo Build verwenden 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 zur Produktionsablauf in Capgo Integrations CI/CD-Integration zur Implementierungsdetail in CI/CD-Integration, und GitHub Aktionen-Integration zur Implementierungsdetail in GitHub Aktionen-Integration