Troubleshooting
Copia un prompt di configurazione con i passaggi di installazione e la guida markdown completa per questo plugin.
Solutions per problemi comuni quando si costruiscono applicazioni native con Capgo Cloud Build.
Fallimenti di costruzione
Sottosezione intitolata “Fallimenti di costruzione”“Fallito l'upload” o “Timeout di connessione”
Sottosezione intitolata ““Fallito l'upload” o “Timeout di connessione””Sintomi:
- Il caricamento del progetto fallisce
- Errori di timeout dopo 60 secondi
Solutions:
-
Controlla la tua connessione internet
Fenestra del terminale # Test connection to Capgocurl -I https://api.capgo.app -
Riduci la dimensione del progetto
- Assicurati
node_modules/non stia caricando (dovrebbe essere escluso automaticamente) - Controlla i file grandi nel tuo progetto:
Finestra del terminale find . -type f -size +10M - Assicurati
-
Controlla la scadenza dell'URL di caricamento
- Gli URL di caricamento scadono dopo 1 ora
- Se ottieni un errore di URL scaduto, ripeti il comando di costruzione
“Timeout di costruzione dopo 10 minuti”
Sottosezione intitolata ““Timeout di costruzione dopo 10 minuti””Sintomi:
- Costruzione supera il tempo massimo consentito
- Lo stato mostra
timeout
Soluzioni:
-
Optimizzare le dipendenze
- Rimuovere pacchetti npm non utilizzati
- Usare
npm prune --productionPrima di costruire
-
Check for network issues in build
- Alcune dipendenze possono scaricare file grandi durante la costruzione
- Considera il pre-caching con un file di blocco
-
Verifica le dipendenze native
Finestra del terminale # iOS - check Podfile for heavy dependenciescat ios/App/Podfile# Android - check build.gradlecat android/app/build.gradle -
Contattare il supporto
- Se il tuo app ha effettivamente bisogno di più tempo
- Potremmo regolare i limiti per casi d'uso specifici
Issue di autenticazione
Section titled “Authentication Issues”“Chiave API non valida” o “Non autorizzato”
Sezione intitolata “Chiave API non valida” o “Non autorizzato””Sintomi:
- La costruzione fallisce immediatamente con un errore di autenticazione
- Errori 401 o 403
Soluzioni:
-
Verifica che la chiave API sia corretta
Finestra del terminale # Test with a simple commandbunx @capgo/cli@latest app list -
Controlla i permessi della chiave API
- La chiave deve avere
writeoallpermessi - Verifica in Capgo dashboard sotto API Chiavi
- La chiave deve avere
-
Assicurati che la API chiave venga letta
Finestra del terminale # Check environment variableecho $CAPGO_TOKEN# Or check your saved credentials filecat ~/.capgo-credentials/credentials.json # globalcat .capgo-credentials.json # local (--local) -
Re-authenticate
Finestra del terminale bunx @capgo/cli@latest login
"App non trovata" o "Nessuna autorizzazione per questa app"
"App non trovata" o "Nessuna autorizzazione per questa app"Symptoms:
- Authentication works but app-specific error
Soluzioni:
-
Verifica che l'app sia registrata
Finestra del terminale bunx @capgo/cli@latest app list -
Controlla che l'ID dell'app corrisponda
- Verifica
capacitor.config.jsonID dell'app - Ensure command uses correct app ID
- Verifica
-
Verifica l'accesso all'organizzazione
- Controlla di essere nell'organizzazione corretta
- API deve avere accesso all'organizzazione dell'app
Problemi di costruzione per iOS
Problemi di costruzione per iOS“Code firma fallita”
Sezione intitolata ““Code firma fallita””Sintomi:
- La costruzione fallisce durante la fase di firma code
- Errori di Xcode sui certificati o sui profili
Soluzioni:
-
Verify certificate type matches build type
- Il costruzione di sviluppo richiede certificati di sviluppo
- Il costruzione per l'App Store richiede certificati di distribuzione
-
Controlla certificato e profilo di corrispondenza
Finestra del terminale # Decode and inspect your certificateecho $BUILD_CERTIFICATE_BASE64 | base64 -d > cert.p12openssl pkcs12 -in cert.p12 -nokeys -passin pass:$P12_PASSWORD | openssl x509 -noout -subject -
Assicurati che il profilo di provisioning sia valido
- Controlla la data di scadenza
- Verifica che includa il tuo ID App
- Conferma che includa il certificato
-
Regenera le credenziali
- Cancella il vecchio certificato/profilo
- Creane di nuovi nel portale dello sviluppatore Apple
- Ricodifica e aggiorna le variabili di ambiente
Profilo di provisioning non include certificato di firma
Sezione intitolata ““Profilo di provisioning non include certificato di firma””Sintomi:
- Xcode non trova il certificato nel profilo
Solutions:
-
Scarica il profilo più recente da Apple
- Vai a Apple Developer → Certificati, ID e Profili
- Scarica il profilo di provisioning
- Assicurati che includa il tuo certificato
-
Verifica che il certificato sia nel profilo
Finestra del terminale # Extract profileecho $BUILD_PROVISION_PROFILE_BASE64 | base64 -d > profile.mobileprovision# View profile contentssecurity cms -D -i profile.mobileprovision -
Ricrea il profilo con il certificato corretto
- In Apple Developer portal, modifica il profilo
- Assicurati che il tuo certificato di distribuzione sia selezionato
- Scarica e ricodifica
“Autenticazione App Store Connect fallita”
Sezione intitolata ““Autenticazione App Store Connect fallita””Sintomi:
- L'invio a TestFlight fallisce
- Errori relativi alla chiave API
Soluzioni:
-
Verifica le credenziali della chiave API
- Controlla APPLE_KEY_ID (dovrebbe essere di 10 caratteri)
- Controlla APPLE_ISSUER_ID (dovrebbe essere nel formato UUID)
- Verifica che APPLE_KEY_CONTENT sia correttamente codificato in base64
-
Sincronizza l'orologio del computer
- L'autenticazione di App Store Connect utilizza JWT a breve scadenza generati dal tempo del sistema locale
- Apple rifiuta i token che scadono dopo più di 20 minuti, quindi anche piccoli disallineamenti orari possono rendere un altrimenti valido token non valido
- Su Windows, apri Impostazioni > Tempo e lingua > Data e ora > e clicca Sincronizza ora
- Su macOS, apri Impostazioni del sistema > Generale > Data e ora > e abilita l'orologio automatico
- Su Linux, controlla
timedatectl statuse abilita NTP se necessario - Dopo aver sincronizzato, ripeti la costruzione o la richiesta di credenziali Capgo
Vedi Apple's Genera token per le richieste di API. documentazione per la regola di durata del token di App Store Connect
-
Testa la chiave API locale.
Finestra del terminale. # Decode keyecho $APPLE_KEY_CONTENT | base64 -d > AuthKey.p8# Test with fastlane (if installed)fastlane pilot list -
Controlla le autorizzazioni della chiave API.
- Key needs “Developer” role or higher
- Controlla in App Store Connect -> Utenti e accesso -> Chiavi
-
Assicurati che la chiave non sia stata revocata.
- Controlla su App Store Connect
- Genera una nuova chiave se necessario.
App si blocca al lancio su iOS 27
Sezione intitolata “App si blocca al lancio su iOS 27”Sintomi:
- L'applicazione costruita con Xcode 27 si chiude immediatamente su iOS 27 (TestFlight o dispositivo)
- Il rapporto di crash mostra
_UIApplicationEvaluateRuntimeIssueForNoSceneLifecycleAdoption
Soluzione: Gli app costruiti con l'SDK iOS 27 devono adottare il ciclo di vita UIScene. Aggiungi un SceneDelegate e un UIApplicationSceneManifest per ios/App/App/Info.plist, o costruisci con --xcode-version 26.Capgo ora blocca questi build prima che inizino (verifica di pre-scansione) ios/plist-scene-lifecycle-xcode27).
Installazione del pod fallita
Sezione intitolata ““Installazione Pod fallita””Sintomi:
- La costruzione fallisce durante l'installazione dei CocoaPods
- Errori del file Podfile
Soluzioni:
-
Verifica che Podfile.lock sia stato commesso.
Finestra del terminale git status ios/App/Podfile.lock -
Esegui test pod localmente
Finestra del terminale cd ios/Apppod install -
Verifica la presenza di pod incompatibili
- Verifica Podfile per conflitti di versione
- Assicurati che tutti i pod supportino il tuo target di distribuzione iOS
-
Pulisci cache dei pod
Finestra del terminale cd ios/Apprm -rf Podsrm Podfile.lockpod install# Then commit new Podfile.lock
Problemi di costruzione Android
Sezione intitolata “Problemi di costruzione Android”“La password del keystore è errata”
Sezione intitolata ““Password della chiave di sicurezza errata”””Sintomi:
- La costruzione fallisce durante la firma
- Errori Gradle relativi al keystore
Soluzioni:
-
Verifica la password del keystore
Finestra del terminale # Test keystore locallykeytool -list -keystore my-release-key.keystore# Enter password when prompted -
Controlla le variabili di ambiente
Finestra del terminale # Ensure no extra spaces or special charactersecho "$KEYSTORE_STORE_PASSWORD" | cat -Aecho "$KEYSTORE_KEY_PASSWORD" | cat -A -
Controlla le variabili di ambiente
Finestra del terminale # Decode and testecho $ANDROID_KEYSTORE_FILE | base64 -d > test.keystorekeytool -list -keystore test.keystore
“Alias della chiave non trovato”
“Alias della chiave non trovato”Sintomi:
- La firma fallisce con errore di alias
Soluzioni:
-
Elencare gli alias del keystore
Finestra del terminale keytool -list -keystore my-release-key.keystore -
Verificare che l'alias corrisponda esattamente
- L'alias è case-sensitive
- Check for typos in KEYSTORE_KEY_ALIAS
-
Usa l'alias corretto dal keystore
Fenestra del terminale # Update environment variable to matchexport KEYSTORE_KEY_ALIAS="the-exact-alias-name"
“Esecuzione del build di Gradle fallita”
Sezione intitolata ““Esecuzione di build Gradle fallita””Sintomi:
- Errori di Gradle generici
- Issue di compilazione o di dipendenza
Soluzioni:
-
Costruisci un test locale prima
Fenestra del terminale cd android./gradlew clean./gradlew assembleRelease -
Verifica la presenza di dipendenze mancanti
- Rivista i file build.gradle
- Assicurati che tutti i plugin siano elencati nelle dipendenze
-
Verifica la compatibilità della versione di Gradle
Finestra del terminale # Check gradle versioncat android/gradle/wrapper/gradle-wrapper.properties -
Pulisci il cache di Gradle
Finestra del terminale cd android./gradlew cleanrm -rf .gradle build
“Fallito l'upload su Play Store”
Sezione intitolata ““Fallito l'upload su Play Store””Segni e sintomi:
- Costruzione riuscita, ma caricamento fallito
- Errori di account di servizio
Soluzioni:
-
Verifica il file JSON dell'account di servizio
Fenestra del terminale # Decode and check formatecho $PLAY_CONFIG_JSON | base64 -d | jq . -
Controlla i permessi dell'account di servizio
- Vai su Console di Gioco → Impostazioni → API Accesso
- Assicurati che l'account di servizio abbia accesso alla tua app
- Concedi il permesso di rilascio per le tracce di testing
-
Verify app is set up in Play Console
- L'app deve essere creata inizialmente nel Console di Gioco.
- Deve essere caricato almeno un APK manualmente inizialmente.
-
Verificare che API sia abilitato.
- Il API del Developer di Google Play deve essere abilitato.
- Verificare nel Console di Cloud di Google.
Problemi Generali
Sezione intitolata “Problemi Generali”“Job non trovato” o “Stato di costruzione non disponibile”
Sezione intitolata ““Job non trovato” o “Stato di costruzione non disponibile””Sintomi:
- Impossibile verificare lo stato di costruzione.
- Errori di ID di lavoro
Soluzioni:
-
Aspetta un momento e riprova
- Build jobs may take a few seconds to initialize
-
Controlla che l'ID del lavoro sia corretto
- Verifica l'ID del lavoro dalla risposta di costruzione iniziale
-
Controlla che il costruzione non sia scaduto
- I dati di costruzione sono disponibili per 24 ore
“Il sincronizzazione del progetto è fallita”
Aggiornamento progetto fallitoSintomi:
- Il costruzione fallisce prima che la compilazione inizi
- Errori di file mancanti
Soluzioni:
-
Esegui Capacitor in locale sincronizzando
Fenestra del terminale bunx cap sync -
Assicurati che tutti i file nativi siano commessi
Fenestra del terminale git status ios/ android/ -
Controlla i file nativi ignorati da Git
- Recensisci .gitignore
- Ensure important config files aren’t ignored
"Il build è riuscito ma non vedo l'output"
Sezione intitolata "Il build è riuscito ma non vedo l'output"Segni e sintomi:
- Il build mostra successo ma nessun collegamento di download
Soluzioni:
-
Controlla la configurazione della costruzione
- Artifact storage may not be configured
- Contatta il supporto se l'accesso agli artefatti non è disponibile per la tua build
-
Per la sottoscrizione di TestFlight su iOS
- Per la sottoscrizione di TestFlight per iOS
- Il processo potrebbe richiedere 5-30 minuti dopo l'upload
-
Per Store di Giocattoli Android
- Controlla Console di Gioco → Test → Test interni
- Il processo potrebbe richiedere alcuni minuti
Costruzione riuscita ma l'artifact è sbagliato dopo un cambio di ambiente
Sezione intitolata “Costruzione riuscita ma l'artifact è sbagliato dopo un cambio di ambiente”Sintomi:
- Lo stato di costruzione è
successma l'IPA/AAB/APK non corrisponde alla branch o al flavor che hai appena costruito - L'AAB Android mancante o sbagliato dopo aver cambiato le credenziali RC vs produzione o
--android-flavor - Il build termina in modo sospetto velocemente appena si cambia la configurazione di firma o il flavor del prodotto.
Causa: Capgo ripristina il cache di costruzione per-app di default (omissione cache_key per il cache generale condiviso). Se RC e produzione condividono lo stesso ID dell'applicazione senza chiavi separate, un ripristino può riutilizzare l'output compilato dal precedente ambiente.
Soluzioni:
-
Usa una chiave di cache per ambiente (consigliato per pipeline RC/PROD in corso):
Fenestra del terminale # Productionbunx @capgo/cli@latest build request com.example.app --platform android \--cache-key=prod \--android-flavor production# Staging / RCbunx @capgo/cli@latest build request com.example.app --platform android \--cache-key=staging \--android-flavor staging -
Ricompila da zero quando si debugga:
Fenestra del terminale bunx @capgo/cli@latest build request com.example.app --platform android --no-cache -
In API o integrazioni webhook, passa
cache_key(ad esempio"prod") o impostarecache_enabled: falseper un singolo esecuzione pulita.
Vedi Build cache per la riferimento completo delle opzioni.
Problemi specifici per CI/CD
Sezione intitolata “Problemi specifici per CI/CD”GitHub Azioni: “Comando non trovato”
Sezione intitolata “GitHub Azioni: “Comando non trovato””Sintomi:
bunx @capgo/cli@latest …fallisce in CI con “comando non trovato”
Soluzioni:
-
Configura Bun in primo luogo così
bunxè disponibile:- uses: oven-sh/setup-bun@v2 -
Esegui quindi il CLI. —
bunxcarica solo quando necessario, nessuna installazione globale richiesta- run: bunx @capgo/cli@latest build request com.example.app --platform android
GitHub Azioni: “Segreti non trovati”
Sezione intitolata “GitHub Azioni: “Segreti non trovati””Symptoms:
- Variabili di ambiente vuote nella build
Solutions:
-
Verifica che i segreti siano impostati
- Vai alle impostazioni del repository → Segreti e variabili → Azioni
- Aggiungi tutti i segreti richiesti
-
Utilizza la sintassi corretta
env:CAPGO_TOKEN: ${{ secrets.CAPGO_TOKEN }} -
Controlla che i nomi dei segreti corrispondano
- Il nome è case-sensitive
- Nessun errore di ortografia nelle referenze segrete
Ottenere Maggiore Aiuto
Abilita la registrazione dettagliataAbilita la registrazione dettagliata
Abilita la registrazione di logging dettagliata# Add debug flag (when available)bunx @capgo/cli@latest build request com.example.app --verboseRaccogli informazioni di costruzione
Sezione intitolata “Raccogli informazioni di costruzione”Quando si contatta il supporto, includere:
-
Comando di costruzione utilizzato
Finestra del terminale bunx @capgo/cli@latest build request com.example.app --platform ios -
Messaggio di errore (output completo)
-
ID del lavoro (dal output di costruzione)
-
Log dei build (copia l'output del terminale completo)
-
Informazioni sull'ambiente
Fenestra del terminale node --versionnpm --versionbunx @capgo/cli@latest --version
Contattare il Supporto
Sezione intitolata “Contattare il Supporto”- Discord: Unisciti alla nostra community
- E-mail: supporto@capgo.app
- Documentazione: Capgo Documenti
Limitazioni note
Sezione intitolata “Limitazioni note”Limitazioni correnti:
- Tempo massimo di costruzione: 10 minuti
- Dimensione massima di caricamento: ~500MB
- I costruzioni per iOS richiedono leasing Mac di 24 ore, costruisci su Mac per assicurare l'uso ottimale.
- Build artifact download availability depends on build destination and artifact storage configuration
Queste limitazioni possono essere adattate in base alle risposte dei utenti.
Prescan ha bloccato la mia costruzione
Sezione intitolata “Prescan ha bloccato la mia costruzione”Capgo esegue una costruzione locale prescan prima dell'upload. Correggi il trovare segnalato, o ignora solo quel check id:
npx @capgo/cli@latest build request <appId> --platform ios \ --prescan-skip ios/capacitor-server-url-shippedVedi il catalogo completo: Vedi il catalogo completo:.
Controlli di prescan
Section titled “Additional Resources”- Sottosezione intitolata “Risorse aggiuntive” Guida di avvio iniziale
- - Guida di avvio iniziale Opzioni di configurazione. - CLI flag inclusi
--cache-keye--no-cache - Illicazioni iOS - Configurazione specifica per iOS
- Illicazioni Android - Configurazione specifica per Android
- Verifica pre-scan - Full list of pre-build checks and ignore flags
- Riferimento CLI - Documentazione completa della riga di comando