Zum Inhalt springen

Fehlersuche

Lösungen für häufige Probleme bei der Erstellung von nativen Apps mit Capgo Cloud Build.

“Hochladen fehlgeschlagen” oder “Verbindungstimeout”

Abschnitt mit dem Titel “Hochladen fehlgeschlagen” oder “Verbindungstimeout”

Symptome:

  • Build fehlschlägt während des Projektuploads
  • Zeitüberschreitungsfehler nach 60 Sekunden

Lösungen:

  1. Überprüfen Sie Ihre Internetverbindung

    Terminalfenster
    # Test connection to Capgo
    curl -I https://api.capgo.app
  2. Reduzieren Sie die Größe Ihres Projekts

    • Stellen Sie sicher node_modules/ wird nicht hochgeladen (sollte automatisch ausgeschlossen werden)
    • Überprüfen Sie nach großen Dateien in Ihrem Projekt:
    Terminalfenster
    find . -type f -size +10M
  3. Überprüfen Sie die Ablaufzeit der Upload-URL

    • Upload-URLs verfallen nach 1 Stunde
    • Wenn Sie eine abgelaufene URL-Fehlermeldung erhalten, führen Sie den Build-Befehl erneut aus

Symptome:

  • Build überschreitet die maximale erlaubte Zeit
  • Status zeigt timeout

Lösungen:

  1. Abhängigkeiten optimieren

    • Überflüssige npm-Pakete entfernen
    • Verwenden Sie npm prune --production vor der Verwendung
  2. Überprüfen Sie Netzwerkprobleme beim Bauen

    • Einige Abhängigkeiten laden während des Baus große Dateien herunter
    • Stellen Sie bei nativen Abhängigkeiten einen Lock-File zur Vorab-Caching vor
  3. Überprüfen Sie native Abhängigkeiten

    Terminal-Fenster
    # iOS - check Podfile for heavy dependencies
    cat ios/App/Podfile
    # Android - check build.gradle
    cat android/app/build.gradle
  4. Hat Support

    • If your app genuinely requires more time
    • Wir können Grenzen für bestimmte Anwendungsfälle anpassen

„API-Schlüssel ungültig“ oder „Keine Berechtigung“

Abschnitt mit dem Titel „API-Schlüssel ungültig“ oder „Keine Berechtigung“

Symptome:

  • Der Build scheitert sofort mit einer Authentifizierungsfehler
  • 401- oder 403-Fehler

Lösungen:

  1. Überprüfen Sie, ob der API-Schlüssel korrekt ist

    Terminalfenster
    # Test with a simple command
    bunx @capgo/cli@latest app list
  2. Überprüfen Sie die Berechtigungen für die API-Schlüssel

    • Der Schlüssel muss write oder all Berechtigungen haben
    • Überprüfen Sie in der Capgo-Oberfläche unter API Schlüsseln
  3. Stellen Sie sicher, dass der API-Schlüssel gelesen wird

    Terminal-Fenster
    # Check environment variable
    echo $CAPGO_TOKEN
    # Or check your saved credentials file
    cat ~/.capgo-credentials/credentials.json # global
    cat .capgo-credentials.json # local (--local)
  4. Neu authentifizieren

    Terminal-Fenster
    bunx @capgo/cli@latest login

”App nicht gefunden” oder “Keine Berechtigung für diese App””

Abschnitt: ”App nicht gefunden” oder “Keine Berechtigung für diese App””

Symptome:

  • Authentifizierung funktioniert, aber App-spezifische Fehler

Lösungen:

  1. Überprüfen Sie, ob die App registriert ist

    Terminalfenster
    bunx @capgo/cli@latest app list
  2. Überprüfen Sie, ob die App-ID übereinstimmt

    • Überprüfen capacitor.config.json appId
    • Stellen Sie sicher, dass der Befehl die richtige App-ID verwendet
  3. Organisationszugriff überprüfen

    • Stellen Sie sicher, dass Sie sich in der richtigen Organisation befinden
    • API Schlüssel muss Zugriff auf die Organisation des Apps haben

Symptome:

  • Der Build fehlschlägt während der code-Signierungsphase
  • Xcode-Fehler über Zertifikate oder Profile

Lösungen:

  1. Überprüfen Sie, ob der Zertifikat-Typ mit dem Build-Typ übereinstimmt

    • Entwicklungsbuilds benötigen Entwicklerzertifikate
    • App Store Builds benötigen Verteilungszertifikate
  2. Überprüfen Sie, ob Zertifikat und Profil übereinstimmen

    Terminal-Fenster
    # Decode and inspect your certificate
    echo $BUILD_CERTIFICATE_BASE64 | base64 -d > cert.p12
    openssl pkcs12 -in cert.p12 -nokeys -passin pass:$P12_PASSWORD | openssl x509 -noout -subject
  3. Stellen Sie sicher, dass die Bereitstellungskonfiguration gültig ist

    • Überprüfen Sie die Ablaufzeit
    • Stellen Sie sicher, dass es Ihren App-ID enthält
    • Bestätigen Sie, dass es das Zertifikat enthält
  4. Bestätigen Sie, dass es das Zertifikat enthält

    • Regenerieren Sie die Anmeldeinformationen
    • Löschen Sie das alte Zertifikat/Profil und erstellen Sie neue im Apple Developer Portal
    • Umweltvariablen neu kodieren und aktualisieren

„Provisioning-Profil enthält kein Signaturzertifikat“

Sektion mit dem Titel „Provisioning-Profil enthält kein Signaturzertifikat“

Symptome:

  • Xcode kann kein Zertifikat im Profil finden

Lösungen:

  1. Das neueste Profil von Apple herunterladen

    • Zum Apple Developer → Zertifikate, IDs und Profile gehen
    • Das Provisioning-Profil herunterladen
    • Stellen Sie sicher, dass es Ihr Zertifikat enthält
  2. Überprüfen Sie, ob das Zertifikat im Profil ist

    Terminalfenster
    # Extract profile
    echo $BUILD_PROVISION_PROFILE_BASE64 | base64 -d > profile.mobileprovision
    # View profile contents
    security cms -D -i profile.mobileprovision
  3. Mit dem richtigen Zertifikat Profil wiederherstellen

    • In Apple Developer-Portal, Profil bearbeiten
    • Stellen Sie sicher, dass Ihr Zertifikat für die Verteilung ausgewählt ist
    • Herunterladen und erneut kodieren

”App Store Connect authentication failed”

Fehler bei der App Store Connect Authentifizierung

Symptome:

  • Hochladen auf TestFlight fehlt
  • API-Schlüsselfehler

Lösungen:

  1. Überprüfen Sie die API-Schlüsselberechtigungen

    • Überprüfen Sie die APPLE_KEY_ID (soll 10 Zeichen lang sein)
    • Überprüfen Sie die APPLE_ISSUER_ID (soll im UUID-Format sein)
    • Überprüfen Sie, ob APPLE_KEY_CONTENT korrekt base64-codiert ist
  2. Testen Sie die API-Schlüssel lokal

    Terminal-Fenster
    # Decode key
    echo $APPLE_KEY_CONTENT | base64 -d > AuthKey.p8
    # Test with fastlane (if installed)
    fastlane pilot list
  3. Überprüfen Sie die API-Schlüssel-Rechte

    • Der Schlüssel benötigt das 'Entwickler'-Rolleniveau oder höher
    • Überprüfen Sie in App Store Connect → Benutzer und Zugriff → Schlüssel
  4. Stellen Sie sicher, dass der Schlüssel nicht zurückgezogen ist

    • Überprüfen Sie in App Store Connect
    • Erstellen Sie einen neuen Schlüssel, wenn erforderlich

”Pod-Install-Vorgang fehlgeschlagen”

Abschnitt: ”Pod-Install-Vorgang fehlgeschlagen”

Symptome:

  • Build-Vorgang fehlschlägt während der CocoaPods-Installation
  • Fehler im Podfile

Lösungen:

  1. Überprüfe, ob Podfile.lock im Repository committet ist

    Terminal-Fenster
    git status ios/App/Podfile.lock
  2. Testen Sie den lokalen Pod-Install-Vorgang

    Terminal-Fenster
    cd ios/App
    pod install
  3. Überprüfen Sie inkompatible Pods

    • Überprüfen Sie die Podfile auf Versionskonflikte
    • Stellen Sie sicher, dass alle Pods Ihr iOS-Zielsystem unterstützen
  4. Leeren Sie den Pod-Cache

    Terminal-Fenster
    cd ios/App
    rm -rf Pods
    rm Podfile.lock
    pod install
    # Then commit new Podfile.lock

Symptome:

  • Das Build-Prozess scheitert während des Signierungsprozesses
  • Gradle-Fehler über Keystore

Lösungen:

  1. Überprüfe das Keystore-Passwort

    Terminal-Fenster
    # Test keystore locally
    keytool -list -keystore my-release-key.keystore
    # Enter password when prompted
  2. Überprüfe Umgebungsvariablen

    Terminal-Fenster
    # Ensure no extra spaces or special characters
    echo "$KEYSTORE_STORE_PASSWORD" | cat -A
    echo "$KEYSTORE_KEY_PASSWORD" | cat -A
  3. Überprüfe Base64-Codierung

    Terminal-Fenster
    # Decode and test
    echo $ANDROID_KEYSTORE_FILE | base64 -d > test.keystore
    keytool -list -keystore test.keystore

„Alias für Schlüssel nicht gefunden“

Abschnitt mit dem Titel „Alias nicht gefunden“

Symptome:

  • Signieren fehlt mit Alias-Fehler

Lösungen:

  1. Liste der Schlüsselstore-Aliase

    Terminal-Fenster
    keytool -list -keystore my-release-key.keystore
  2. Überprüfe, ob der Alias genau übereinstimmt

    • Der Alias ist case-sensitive
    • Überprüfe auf Tippfehler in KEYSTORE_KEY_ALIAS
  3. Verwende den richtigen Alias aus dem Schlüsselstore

    Terminal-Fenster
    # Update environment variable to match
    export KEYSTORE_KEY_ALIAS="the-exact-alias-name"

”Gradle build failed”

Abschnitt mit dem Titel „ “

Symptome:

  • Allgemeine Gradle-Fehler
  • Komplikationen oder Abhängigkeitsprobleme bei der Kompilierung

Lösungen:

  1. Testen Sie die lokale Erstellung vorher

    Terminal-Fenster
    cd android
    ./gradlew clean
    ./gradlew assembleRelease
  2. Überprüfen Sie fehlende Abhängigkeiten

    • Überprüfen Sie die Dateien build.gradle
    • Stellen Sie sicher, dass alle Plugins in den Abhängigkeiten aufgeführt sind
  3. Überprüfen Sie die Kompatibilität der Gradle-Version

    Terminal-Fenster
    # Check gradle version
    cat android/gradle/wrapper/gradle-wrapper.properties
  4. Gradle-Cache löschen

    Terminal-Fenster
    cd android
    ./gradlew clean
    rm -rf .gradle build

Symptome:

  • Der Build gelingt, aber das Hochladen fehlt
  • Fehler bei der Dienstkontoinstanz

Lösungen:

  1. Überprüfen Sie die JSON-Konfiguration des Dienstkontos

    Terminalfenster
    # Decode and check format
    echo $PLAY_CONFIG_JSON | base64 -d | jq .
  2. Überprüfen Sie die Berechtigungen des Dienstkontos

    • Gehe zu Play Console → Setup → API Zugriff einrichten
    • Stellen Sie sicher, dass das Dienstkonto Zugriff auf Ihre App hat
    • Berechtigung „Release to testing tracks“ erteilen
  3. Überprüfen Sie, ob die App in Play Console eingerichtet ist

    • Die App muss vorher in Play Console erstellt werden
    • Zumindest ein APK muss manuell ursprünglich hochgeladen werden
  4. Überprüfen Sie, ob API aktiviert ist

    • Google Play Developer API muss aktiviert sein
    • Überprüfen Sie im Google Cloud Console

„Auftrag nicht gefunden“ oder „Baustatus nicht verfügbar“

Abschnitt mit dem Titel „„Auftrag nicht gefunden“ oder „Baustatus nicht verfügbar““

Symptome:

  • Der Baustatus kann nicht überprüft werden
  • Fehler beim Job-ID

Lösungen:

  1. Warten Sie einen Moment und versuchen Sie es erneut

    • Die Auftragsjobs können einige Sekunden dauern, um zu initialisieren
  2. Überprüfen Sie die Job-ID auf Richtigkeit

    • Überprüfen Sie die Job-ID aus der Antwort der ersten Build-Aktion
  3. Überprüfen Sie, ob die Build-Aktion abgelaufen ist

    • Die Build-Daten sind für 24 Stunden verfügbar

„Projekt-Synchronisation fehlgeschlagen“

Überschrift „Projekt-Synchronisation fehlgeschlagen“

Symptome:

  • Die Build-Aktion scheitert, bevor die Kompilierung beginnt
  • Fehlende Dateien fehlerhaft

Lösungen:

  1. Führen Sie Capacitor lokal synchron durch

    Terminal-Fenster
    bunx cap sync
  2. Stellen Sie sicher, dass alle native Dateien committet sind

    Terminal-Fenster
    git status ios/ android/
  3. Überprüfen Sie native Dateien, die in .gitignore ignoriert werden

    • Überprüfen Sie .gitignore
    • Stellen Sie sicher, dass wichtige Konfigurationsdateien nicht ignoriert werden

Symptome:

  • Der Build zeigt Erfolg, aber kein Download-Link

Lösungen:

  1. Überprüfen Sie die Build-Konfiguration

    • Die Speicherung von Artefakten kann nicht konfiguriert sein
    • Kontaktieren Sie das Support-Team, wenn der Zugriff auf Artefakte für Ihre Build nicht verfügbar ist
  2. Für die iOS-Testflug-Submission

    • Überprüfen Sie App Store Connect
    • Die Verarbeitung kann nach dem Hochladen 5-30 Minuten dauern
  3. Für die Android-Play-Store-Submission

    • Überprüfen Sie Play Console → Testing → Internes Testen
    • Die Verarbeitung kann einige Minuten dauern

GitHub Aktionen: “Befehl nicht gefunden”

Section titled “GitHub Actions: “Command not found””

Symptome:

  • bunx @capgo/cli@latest … fehlschlägt in CI mit „Befehl nicht gefunden“

Lösungen:

  1. Stellen Sie Bun zuerst ein also bunx ist verfügbar:

    - uses: oven-sh/setup-bun@v2
  2. Dann führen Sie CLI ausbunx es holt es auf Abruf, keine globale Installation erforderlich:

    - run: bunx @capgo/cli@latest build request com.example.app --platform android

Symptome:

  • Umgebungsvariablen sind in der Build leer

Lösungen:

  1. Überprüfen Sie, ob die Geheimnisse gesetzt sind

    • Gehe zu Repo-Einstellungen → Geheime Daten und Variablen → Aktionen
    • Fügen Sie alle erforderlichen Geheimnisse hinzu
  2. Verwenden Sie die richtige Syntax

    env:
    CAPGO_TOKEN: ${{ secrets.CAPGO_TOKEN }}
  3. Überprüfen Sie, ob die Geheimnisnamen übereinstimmen

    • Die Namen sind case-sensitive
    • Keine Tippfehler in den Geheimnisreferenzen

Ausführliche Protokollierung aktivieren

Abschnitt: Ausführliche Protokollierung aktivieren
Terminalfenster
# Add debug flag (when available)
bunx @capgo/cli@latest build request com.example.app --verbose

Baumusterinformationen sammeln

Abschnitt: Baumusterinformationen sammeln

Bei der Kontaktaufnahme mit dem Support sollten Sie Folgendes mitteilen:

  1. Verwendeter Build-Befehl

    Terminalfenster
    bunx @capgo/cli@latest build request com.example.app --platform ios
  2. Fehlermeldung (voller Ausgabe)

  3. Job-ID (aus Ausgabedatei)

  4. Aufbauprotokolle (kopieren Sie die vollständige Terminalausgabe)

  5. Umgebungsinfo

    Terminalfenster
    node --version
    npm --version
    bunx @capgo/cli@latest --version

aktuelle Einschränkungen:

  • Höchstzeit für das Aufbauen: 10 Minuten
  • Höchstgröße für das Hochladen: ~500 MB
  • iOS-Builds erfordern 24-stündige Mac-Mietverträge, das Aufbauen auf einem Mac wird in die Warteschlange eingereiht, um eine optimale Nutzung sicherzustellen
  • Die Verfügbarkeit von Build-Artefakten zum Herunterladen hängt von der Zielkonfiguration für das Aufbauen und der Konfiguration für die Speicherung von Artefakten ab

Diese Einschränkungen können basierend auf Feedback angepasst werden.