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 (um es im Cloud zu kompilieren und zu signieren) ermöglicht es Ihnen, iOS-Builds und TestFlight-Einsendungen von einem Windows-Workstation aus durchzuführen.
Diese Anleitung zeigt einen pragmatischen 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). - Führen Sie
cap synclokal durch (damit Ihr 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): Sie tun dies lokal auf Windows.
- Natives Build (Xcode-Archiv, Signierung, Upload): Capgo Build tut dies auf Mac-Hardware im Cloud.
Dieser Trennung ist der Schlüssel: Capgo Build kompiliert das native Projekt, aber es erwartet, dass Ihre Web-Assets bereits synchronisiert sind in ios/.
Voraussetzungen
- Ein funktionierendes Capacitor-App (jedes 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 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
An diesem Punkt haben Sie ein
bunx cap init
bunx cap add ios
Verzeichnis. Commiten Sie es in Git. __CAPGO_KEEP_0__ Build kompiliert, was sich innerhalb befindet ios/ directory. Commit it to git. Capgo Build compiles what is inside ios/3) Synchronisieren Sie Web-Assets immer vor der iOS-Buildung
Jedes Mal, wenn Sie Ihre Web-Anwendung ändern, führen Sie diese Sequenz auf Windows aus:
ist das, was Ihre gebauten Web-Assets in das native iOS-Projekt kopiert (die Dateien __CAPGO_KEEP_0__ Build werden tatsächlich kompilieren).
bun run build
bunx cap sync ios
cap sync 4) Installieren und authentifizieren Sie das Capgo __CAPGO_KEEP_1__
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 eine Umgebungsvariable in Ihrer 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 - Provisioning-Profil (
.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:
- Verwaltung von Anmeldeinformationen (was zu speichern und wie)
- How iOS-Zertifikate und Provisioning-Profile zu erhalten
Der einfachste Weg ist: Erstellen/Speichern dieser einmal (oft mit einem verfügbaren Mac, einem Teamkollegen oder einer einmaligen Mietung), dann wiederverwenden Sie sie von Windows 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 Zugriffstoken-Dateien base64-codiert als Geheimnisse, entschlüsseln Sie sie bei Laufzeit, dann führen Sie denselben Befehl aus. build credentials save 6) Auslösen eines iOS-Builds von Windows
Von Ihrem App-Ordner:
Sie sehen die Echtzeit-Protokolle in Ihrem Terminal. Wenn Ihre App Store Connect-Zugriffskarte 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
You will see real-time logs in your terminal. If your App Store Connect key is configured, Capgo Build can submit the resulting build to TestFlight automatically.
__CAPGO_KEEP_0__ Build ist für native Änderungen:
Hinzufügen/Entfernen von Capgo-Plugins
- adding/removing Capacitor plugins
- Änderung von native Berechtigungen
- Icons/Splash ändern
- Capacitor aktualisieren
- Jede Swift/Objective-C Änderung
Für alltägliche UI-Anpassungen und JavaScript-Fixes möchten Sie normalerweise Live Updates kontinuierliche (OTA), sodass Sie das native Binärdatei nicht jedes Mal neu erstellen müssen.
Eine gute Teamarbeit 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 sync: Wenn Ihre UI-Änderungen im iOS-Build fehlen, haben Sie wahrscheinlich die Web-App erstellt, aber sie nicht inios/. - Not verpflichten
ios/: Capgo Build kompiliert das native Projekt. Wenn der Ordner 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 ein 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 Ihr iOS-Binär von CLI aus zu kompilieren, zu signieren und zu übermitteln.
Fortsetzung von Build eine iOS App von Windows mit Capacitor und Capgo Build
Wenn Sie 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 im Produktworkflow in Capgo CI/CD, Capgo Native Builds im Produktworkflow in Capgo Native Builds, Capgo Integrations im Produktworkflow in Capgo Integrations, CI/CD-Integration CI/CD-Integration für die Implementierungsdetails und GitHub Aktionen Integration zur Implementierung im Detail in GitHub Aktionen Integration.