Risolvere i Problemi
Copia un prompt di configurazione con i passaggi di installazione e la guida markdown completa per questo plugin.
Soluzioni ai problemi comuni quando si costruiscono applicazioni native con Capgo Cloud Build.
Fallimenti di costruzione
Sezione intitolata “Fallimenti di costruzione””Fallito l'upload” o “Timeout di connessione”
Sezione intitolata “”Fallito l'upload” o “Timeout di connessione””Sintomi:
- Il caricamento del progetto fallisce
- I tempi di attesa superano i 60 secondi
Soluzioni:
-
Controlla la tua connessione internet
Finestra del terminale # Test connection to Capgocurl -I https://api.capgo.app -
Riduci le dimensioni del progetto
- Assicurati che
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 che
-
Controlla la scadenza dell'URL di caricamento
- Gli URL di caricamento scadono dopo 1 ora
- Se ottieni un errore di URL scaduto, esegui nuovamente il comando di costruzione
Timeout di costruzione dopo 10 minuti
Sottosezione intitolata “Timeout di costruzione dopo 10 minuti”Sintomi:
- La costruzione supera il tempo massimo consentito
- Lo stato mostra
timeout
Solutions:
-
Optimizza le dipendenze
- Elimina le dipendenze non utilizzate npm
- Usa
npm prune --productionprima di costruire
-
Controlla le problematiche di rete durante la costruzione
- Alcune dipendenze possono scaricare file di grandi dimensioni durante la costruzione
- Considera il pre-caching con un file di blocco
-
Verifica le dipendenze native
Fenestra 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
- Possiamo regolare i limiti per casi d'uso specifici
Problemi di autenticazione
Sezione intitolata “Problemi di autenticazione””API chiave non valida” o “Non autorizzato”
Sezione intitolata “”API chiave non valida” o “Non autorizzato””Sintomi:
- La costruzione fallisce immediatamente con un errore di autenticazione
- Errori 401 o 403
Soluzioni:
-
Verifica che la API chiave sia corretta
Finestra del terminale # Test with a simple commandbunx @capgo/cli@latest app list -
Verifica le autorizzazioni della chiave API
- La chiave deve avere
writeoallautorizzazioni - Verifica nella dashboard di Capgo sotto le chiavi API
- La chiave deve avere
-
Assicurati che la chiave API stia essendo 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) -
Riaccreditati
Finestra del terminale bunx @capgo/cli@latest login
”L'app non è stata trovata” o “Nessuna autorizzazione per questa app”
Sezione intitolata “”L'app non è stata trovata” o “Nessuna autorizzazione per questa app””Sintomi:
- La autenticazione funziona ma si verifica un errore specifico dell'app
Soluzioni:
-
Verifica che l'app sia registrata
Finestra del terminale bunx @capgo/cli@latest app list -
Verifica che l'ID dell'app corrisponda
- Verifica
capacitor.config.jsonappId - Assicurati che il comando utilizzi l'ID dell'app corretto
- Verifica
-
Verifica l'accesso all'organizzazione
- Controlla di essere nell'organizzazione corretta
- La chiave API deve avere accesso all'organizzazione dell'app
Issue di costruzione iOS
Sottosezione intitolata “Issue di costruzione iOS”“La firma Code è fallita”
Sottosezione intitolata “La firma Code è fallita”Sintomi:
- La costruzione fallisce durante la fase di firma code
- Errori di Xcode sui certificati o sui profili
Soluzioni:
-
Verifica che il tipo di certificato corrisponda al tipo di build
- Le build di sviluppo richiedono certificati di sviluppo
- Le build per l'App Store richiedono certificati di distribuzione
-
Controlla che il certificato e il profilo corrispondano
F 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
- Creare nuove in Apple Developer portal
- Ricodificare e aggiornare le variabili di ambiente
”Il profilo di provisioning non include il certificato di firma”
Sintomi:Xcode non trova il certificato nel profilo
- Soluzioni:
Scaricare il profilo più recente da Apple
-
Vai a Apple Developer → Certificati, ID e Profili
- Scaricare il profilo di provisioning
- Assicurati che includa il tuo certificato
- Verifica che il certificato sia nel profilo
-
Scarica il profilo di provisioning da Apple
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 portallo dello sviluppatore Apple, modifica il profilo
- Assicurati di aver selezionato il certificato di distribuzione
- Scarica e ricodifica
”Autenticazione di App Store Connect fallita”
Sottosezione intitolata “”Autenticazione di App Store Connect fallita””Sintomi:
- La pubblicazione su TestFlight fallisce
- Errori relativi alla chiave API
Soluzioni:
-
Verifica le credenziali chiave di API
- Controlla APPLE_KEY_ID (dovrebbe essere 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 token JWT a breve scadenza generati dal tempo di sistema locale
- Apple rifiuta i token che scadono dopo più di 20 minuti, quindi anche piccoli disallineamenti orari possono far fallire una chiave altrimenti valida
- 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
- Sul sistema Linux, controlla
timedatectl statuse abilita NTP se necessario - Dopo aver sincronizzato, esegui nuovamente il comando di compilazione o di credenziali Capgo
Vedi la documentazione di Apple per la regola di durata del token di App Store Connect. Genera i token per le richieste API Esegui il comando di verifica della chiave __CAPGO_KEEP_0__
-
Test API key locally
Copia negli appunti # Decode keyecho $APPLE_KEY_CONTENT | base64 -d > AuthKey.p8# Test with fastlane (if installed)fastlane pilot list -
Verifica la chiave API localmente
- La chiave richiede il ruolo "Developer" o un ruolo superiore
- Verifica in App Store Connect -> Utenti e accesso -> Chiavi
-
Assicurati che la chiave non sia revocata
- Controlla in App Store Connect
- Genera una nuova chiave se necessario
"Installazione Pod fallita"
Sezione intitolata "Installazione Pod fallita"Sintomi:
- La compilazione fallisce durante l'installazione di CocoaPods
- Errori in Podfile
Soluzioni:
-
Verifica che Podfile.lock sia commesso
Finestra del terminale git status ios/App/Podfile.lock -
Testa l'installazione locale dei pod
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 il 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 per Android””Keystore password incorrect”
La password del keystore è errata”Sezione intitolata “La password del keystore è errata””
- Sintomi:
- La costruzione fallisce durante la firma
Errori di Gradle relativi al keystore
-
Soluzioni:
Verifica la password del keystore # Test keystore locallykeytool -list -keystore my-release-key.keystore# Enter password when prompted -
Copia nel portapenne
Controlla le variabili di ambiente # Ensure no extra spaces or special charactersecho "$KEYSTORE_STORE_PASSWORD" | cat -Aecho "$KEYSTORE_KEY_PASSWORD" | cat -A -
Verifica l'encoding base64
Finestra del terminale # Decode and testecho $ANDROID_KEYSTORE_FILE | base64 -d > test.keystorekeytool -list -keystore test.keystore
”Alias della chiave non trovato”
Sezione intitolata “”Alias della chiave non trovato””Sintomi:
- La firma fallisce con errore di alias
Soluzioni:
-
Elenco degli alias del keystore
Finestra del terminale keytool -list -keystore my-release-key.keystore -
Verifica che l'alias corrisponda esattamente
- L'alias è case-sensitive
- Controlla per errori di battitura in KEYSTORE_KEY_ALIAS
-
Utilizza l'alias corretto dal keystore
Fenestra del terminale # Update environment variable to matchexport KEYSTORE_KEY_ALIAS="the-exact-alias-name"
”Errore di build Gradle”
Sottosezione intitolata “”Errore di build Gradle””Sintomi:
- Errori di build Gradle generici
- Issue di compilazione o di dipendenza
Soluzioni:
-
Testa la costruzione localmente per primo
Finestra del terminale cd android./gradlew clean./gradlew assembleRelease -
Verifica le dipendenze mancanti
- Recensisci 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
Caricamento su Play Store fallito
Sezione intitolata “Caricamento su Play Store fallito”Sintomi:
- La build ha successo ma il caricamento fallisce
- 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 a Play Console → Setup → API Accesso
- Assicurati che l'account di servizio abbia accesso all'app
- Concedi il permesso di rilascio per le tracce di testing
-
Verifica che l'app sia configurata nel Console di Play
- L'app deve essere creata in Console di Play prima
- Deve essere caricato almeno un APK manualmente inizialmente
-
Verifica che API sia abilitato
- Deve essere abilitato il Google Play Developer API
- Verifica nel Console di Google Cloud
Issue generali
Sottosezione intitolata “Issue generali”'Job non trovato' o 'Stato di costruzione non disponibile'
Sottosezione 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
- I job di costruzione possono richiedere alcuni secondi per essere inizializzati
-
Verifica che l'ID di lavoro sia corretto
- Verifica l'ID di lavoro dalla risposta di costruzione iniziale
-
Verifica che la costruzione non sia scaduta
- I dati di costruzione sono disponibili per 24 ore
”Project sync failed”
Errore di sincronizzazione del progettoSintomi:
- Compilazione fallisce prima dell'avvio
- Errori di file mancanti
Solutions:
-
Esegui Capacitor sincronizzati localmente
Fenestra del terminale bunx cap sync -
Assicurati che tutti i file nativi siano stati commessi
Fenestra del terminale git status ios/ android/ -
Controlla i file nativi ignorati da Git
- Recensisci .gitignore
- Assicurati che i file di configurazione importanti non siano ignorati
”Costruzione riuscita ma non vedo output”
Sezione intitolata “”Costruzione riuscita ma non vedo output””Sintomi:
- La costruzione mostra successo ma non c'è link di download
Soluzioni:
-
Controlla la configurazione di costruzione
- La memorizzazione degli artefatti potrebbe non essere configurata
- Contatta il supporto se l'accesso agli artefatti non è disponibile per la tua costruzione
-
Per la sottoscrizione di TestFlight per iOS
- Controlla App Store Connect
- Il processo potrebbe richiedere 5-30 minuti dopo l'upload
-
Per la sottoscrizione di Play Store per Android
- Verifica Console di Gioco → Test → Test interni
- La procedura di elaborazione potrebbe richiedere alcuni minuti
Problemi specifici di CI/CD
Sezione intitolata “Problemi specifici di 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 prima quindi
bunxè disponibile:- uses: oven-sh/setup-bun@v2 -
Eseguisci quindi il CLI —
bunxlo recupera a richiesta, senza installazione globale necessaria:- run: bunx @capgo/cli@latest build request com.example.app --platform android
GitHub Azioni: "Segreti non trovati"
Sezione intitolata "GitHub Azioni: "Segreti non trovati""Sintomi:
- Variabili di ambiente vuote in fase di costruzione
Soluzioni:
-
Verifica che i segreti siano impostati
- Vai ai impostazioni del repository → Segreti e variabili → Azioni
- Aggiungi tutti i segreti richiesti
-
Usa la sintassi corretta
env:CAPGO_TOKEN: ${{ secrets.CAPGO_TOKEN }} -
Controlla che i nomi dei segreti corrispondano
- I nomi sono case-sensitive
- Nessi errori di ortografia nei riferimenti ai segreti
Ottenere più aiuto
Sottosezione intitolata “Ottenere più aiuto”Abilita registrazione dettagliata
Sottosezione intitolata “Abilita registrazione 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 di costruzione (copia output del terminale completo)
-
Informazioni di ambiente
Finestra del terminale node --versionnpm --versionbunx @capgo/cli@latest --version
Contattare il supporto
Sezione intitolata “Contattare il supporto”- Discord: Unisciti alla nostra community
- Email: 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
- Il caricamento dei build per iOS richiede un leasing di Mac di 24 ore, il caricamento dei build su Mac verrà messo in coda per garantire l'uso ottimale
- L'accessibilità del download degli artefatti di costruzione dipende dalla configurazione di destinazione e di archiviazione degli artefatti di costruzione
Queste limitazioni possono essere adattate in base alle informazioni di feedback.
Risorse aggiuntive
Sottosezione intitolata “Risorse aggiuntive”- Avvio - Guida di avvio iniziale
- Build di iOS - Configurazione specifica per iOS
- Costruzione per Android - Configurazione specifica per Android
- Riferimento CLI - Documentazione completa del comando