⚠️ Richten Sie zuerst iOS-Zugangsdaten ein
Erforderlich: Sie müssen Ihre iOS-Zugangsdaten speichern, bevor Sie erstellen.
Erstellen und übermitteln Sie iOS-Apps an TestFlight und den App Store mithilfe der dedizierten Mac-Infrastruktur von Capgo.
⚠️ Richten Sie zuerst iOS-Zugangsdaten ein
Erforderlich: Sie müssen Ihre iOS-Zugangsdaten speichern, bevor Sie erstellen.
iOS-Builds laufen auf dedizierten Mac-Maschinen (Scaleway Mac minis M4), die bei Bedarf bereitgestellt werden:
Bevor Sie für iOS erstellen, benötigen Sie:
npx cap open iosSie benötigen einen dieser Zertifikatstypen je nach Build:
| Build-Typ | Erforderliches Zertifikat | Bereitstellungsprofil |
|---|---|---|
| Development | Apple Development | Development Profile |
| Ad Hoc | Apple Distribution | Ad Hoc Profile |
| App Store | Apple Distribution | App Store Profile |
Schnellübersicht:
Certificate Signing Request (CSR) erstellen
.certSigningRequest-DateiZertifikat im Apple Developer Portal generieren
.cer-Datei) herunterZertifikat als .p12 exportieren
.cer-Datei, um sie zum Schlüsselbund hinzuzufügen.p12-Format und legen Sie ein Passwort fest (dieses Passwort speichern!)Bereitstellungsprofil erstellen
.mobileprovision-Datei herunterFür automatische TestFlight-Übermittlung erstellen Sie einen API-Schlüssel:
.p8-Datei herunter (Sie können sie nur einmal herunterladen!)Legen Sie diese Zugangsdaten vor dem Erstellen fest:
# iOS-Signatur (Erforderlich)BUILD_CERTIFICATE_BASE64="<base64-kodiertes-p12-zertifikat>"BUILD_PROVISION_PROFILE_BASE64="<base64-kodierte-mobileprovision>"P12_PASSWORD="<zertifikat-passwort>"
# App Store Connect API (für Übermittlung)APPLE_KEY_ID="ABC1234567"APPLE_ISSUER_ID="00000000-0000-0000-0000-000000000000"APPLE_KEY_CONTENT="<base64-kodierter-p8-schlüssel>"
# Zusätzliche KonfigurationAPP_STORE_CONNECT_TEAM_ID="1234567890"APPLE_PROFILE_NAME="App Store com.example.app"Zertifikat (.p12):
base64 -i YourCertificate.p12 | pbcopyBereitstellungsprofil (.mobileprovision):
base64 -i YourProfile.mobileprovision | pbcopyApp Store Connect Schlüssel (.p8):
base64 -i AuthKey_ABC1234567.p8 | pbcopyDie Base64-Zeichenfolge befindet sich jetzt in Ihrer Zwischenablage - fügen Sie sie in Ihre Umgebungsvariable oder CI/CD-Secrets ein.
npx @capgo/cli@latest build com.example.app \ --platform ios \ --build-mode debugDies erstellt einen Development-Build, der auf registrierten Geräten installiert werden kann.
npx @capgo/cli@latest build com.example.app \ --platform ios \ --build-mode releaseDies erstellt einen App Store-Build und übermittelt ihn automatisch an TestFlight, wenn Sie die App Store Connect API-Zugangsdaten konfiguriert haben.
name: Build iOS App
on: push: branches: [main]
jobs: build: runs-on: ubuntu-latest steps: - uses: actions/checkout@v6
- name: Setup Node.js uses: actions/setup-node@v6 with: node-version: '24'
- name: Install dependencies run: npm ci
- name: Build web assets run: npm run build
- name: Sync Capacitor run: npx cap sync ios
- name: Build iOS app env: CAPGO_TOKEN: ${{ secrets.CAPGO_TOKEN }} BUILD_CERTIFICATE_BASE64: ${{ secrets.IOS_CERTIFICATE }} BUILD_PROVISION_PROFILE_BASE64: ${{ secrets.IOS_PROVISION_PROFILE }} P12_PASSWORD: ${{ secrets.P12_PASSWORD }} APPLE_KEY_ID: ${{ secrets.APPLE_KEY_ID }} APPLE_ISSUER_ID: ${{ secrets.APPLE_ISSUER_ID }} APPLE_KEY_CONTENT: ${{ secrets.APPLE_KEY_CONTENT }} APP_STORE_CONNECT_TEAM_ID: ${{ secrets.TEAM_ID }} run: | npx @capgo/cli@latest build ${{ secrets.APP_ID }} \ --platform ios \ --build-mode releaseMaschinenbereitstellung (1-2 Minuten)
Benutzerisolation (~10 Sekunden)
job-<jobId>/Users/job-<jobId>Projekt-Setup (~30 Sekunden)
Fastlane-Build (3-8 Minuten)
App Store-Übermittlung (1-2 Minuten, falls konfiguriert)
Bereinigung (sofort)
Maschinenfreigabe (nach 24 Stunden)
Unsere iOS-Build-Umgebung umfasst:
Typische iOS-Build-Zeiten:
| Build-Typ | Erster Build | Nachfolgende Builds* |
|---|---|---|
| Debug | 5-7 Minuten | 4-6 Minuten |
| Release | 7-10 Minuten | 5-8 Minuten |
*Nachfolgende Builds können schneller sein, wenn dieselbe Maschine innerhalb des 24-Stunden-Fensters wiederverwendet wird.
“Code signing failed”
“Provisioning profile doesn’t include signing certificate”
“App Store Connect authentication failed”
“Build timeout after 10 minutes”
Alle Build-Protokolle werden in Echtzeit gestreamt. Achten Sie auf diese wichtigen Phasen:
✔ Machine assigned: m-abc123→ Creating user: job-abc123→ Installing CocoaPods dependencies...→ Building iOS app...→ Code signing with certificate...→ Uploading to App Store Connect...✔ Build succeededWenn ein Build fehlschlägt, wird der Fehler in den Protokollen mit der spezifischen Fastlane/Xcode-Fehlermeldung klar angezeigt.
Stellen Sie immer sicher, dass Ihr iOS-Build lokal funktioniert, bevor Sie Cloud Build verwenden:
npx cap open ios# In Xcode erstellenCommitten Sie niemals Zertifikate oder Schlüssel in Ihr Repository. Verwenden Sie immer:
Für schnellere Builds stellen Sie sicher, dass Ihre package.json und Podfile.lock in die Versionskontrolle committed sind.
Behalten Sie die Build-Dauer im Auge, um Kosten zu optimieren:
# Die CLI zeigt die Build-Zeit am Ende anBuild succeeded in 6m 42s (13.4 billing minutes at 2× rate)