Zum Hauptinhalt springen
Anleitung

Ein iOS-App von Windows mit Capacitor und Capgo Build erstellen

Ein echtes iOS-Binärdatei von einem Windows-Entwicklungsrechner aus senden: Umwickeln Sie Ihre Web-App mit Capacitor, dann verwenden Sie Capgo Build, um zu kompilieren, zu signieren und an TestFlight zu senden, ohne einen Mac zu besitzen.

Artikelcredits

Martin Donadieu

Autor

Valeria

Rezensent

Jordan

Redakteur

Ein iOS-App von Windows mit Capacitor und Capgo Build erstellen

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 sync lokal 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:

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:

  1. Verwenden Sie Capacitor (ios/ in Ihrem Repository).
  2. Bauen Sie Ihre Web-Assets lokal, dann cap sync.
  3. 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

Live-Updates für Capacitor-Apps

Wenn ein Fehler im Web-Schicht lebt, versenden Sie die Reparatur über Capgo anstatt Tage für die Genehmigung des App-Store abzuwarten. Die Benutzer erhalten die Aktualisierung im Hintergrund, während native Änderungen im normalen Review-Prozess bleiben.

Menschliche Unterstützung von Martin

Los geht's jetzt

Neueste von unserem Blog

Capgo gibt Ihnen die besten Einblicke, die Sie benötigen, um eine wirklich professionelle mobile App zu erstellen.