Risolvere i Problemi
Copia un prompt di configurazione con i passaggi di installazione e la guida markdown completa per questo plugin.
Soluzioni per i 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
- Errore di timeout dopo 60 secondi
Soluzioni:
-
Controlla la tua connessione internet
Finestra 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
-
Verifica 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:
- Costruzione supera il tempo massimo consentito
- Lo stato mostra
timeout
Soluzioni:
-
Optimizza le dipendenze
- Elimina i pacchetti npm non utilizzati
- 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
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
Sottosezione intitolata “Issue di autenticazione””API chiave non valida” o “Non autorizzato”
Sottosezione 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 i permessi della chiave API
- La chiave deve avere
writeoallVerifica nella dashboard di __CAPGO_KEEP_0__ sotto le __CAPGO_KEEP_1__ Chiavi - Check in Capgo dashboard under API Keys
- La chiave deve avere
-
Ensure API key is being read
Copia nel portapenna # Check environment variableecho $CAPGO_TOKEN# Or check your saved credentials filecat ~/.capgo-credentials/credentials.json # globalcat .capgo-credentials.json # local (--local) -
Finestra del terminale
Copia nel portapenna 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
- Il build di sviluppo richiede certificati di sviluppo
- Il build per l'App Store richiede certificati di distribuzione
-
Controlla che il certificato e il profilo corrispondano
Fenestra 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
- Nel portale dello sviluppatore Apple, modifica il profilo
- Assicurati di aver selezionato il certificato di distribuzione
- Scarica e ricodifica
”Autenticazione App Store Connect fallita”
Sezione intitolata “”Autenticazione App Store Connect fallita””Sintomi:
- L'upload a TestFlight fallisce
- Errori di 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 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 rendere un altrimenti valido key 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 il tempo 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 Eseguisci la chiave __CAPGO_KEEP_0__ localmente
-
Test API key locally
Copia nel portapenne # Decode keyecho $APPLE_KEY_CONTENT | base64 -d > AuthKey.p8# Test with fastlane (if installed)fastlane pilot list -
Controlla le autorizzazioni della chiave API
- La chiave richiede il ruolo "Developer" o 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 di Pod fallita”
Sottosezione intitolata “”Installazione di Pod fallita””Sintomi:
- Il build 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 -
Esegui test di installazione locale di 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
-
Cancella 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””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
Fenestra del terminale # Test keystore locallykeytool -list -keystore my-release-key.keystore# Enter password when prompted -
Controlla le variabili di ambiente
Fenestra del terminale # 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
Finestra del terminale # Update environment variable to matchexport KEYSTORE_KEY_ALIAS="the-exact-alias-name"
”Errore di build di Gradle”
Sezione intitolata “”Errore di build di Gradle””Sintomi:
- Errori di Gradle generici
- Problemi di compilazione o di dipendenze
Soluzioni:
-
Testa la costruzione localmente per primo
Finestra del terminale cd android./gradlew clean./gradlew assembleRelease -
Verifica le dipendenze mancanti
- Revisiona 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 negato dalla Store Play”
Sintomo: Caricamento negato dalla Store PlaySintomi:
- La costruzione ha successo ma il caricamento fallisce
- Errori del servizio account
Soluzioni:
-
Verifica il file JSON del servizio account
Fenestra del terminale # Decode and check formatecho $PLAY_CONFIG_JSON | base64 -d | jq . -
Controlla i permessi del servizio account
- Vai a Console di gioco → Configurazione → API Accesso
- Assicurati che il servizio account abbia accesso all'app
- Concedi la "permessi per le tracce di testing"
-
Verifica che l'app sia configurata nel Console di gioco
- L'app deve essere creata in Console di gioco prima
- Deve essere caricato almeno un APK manualmente inizialmente
-
Verifica che API sia abilitato
- Deve essere abilitato il Google Play Developer API
- Verifica in Console di Google
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:
- Non è possibile 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 inizializzare
-
Verifica che l'ID del lavoro sia corretto
- Verifica l'ID del lavoro dalla risposta di costruzione iniziale
-
Verifica che i dati di costruzione non sono scaduti
- I dati di costruzione sono disponibili per 24 ore
”Project sync failed”
Sezione intitolata “”Sintomi:
- Costruisce fallimenti prima che inizi la compilazione
- Errori di file mancanti
Soluzioni:
-
Esegui Capacitor in locale sincrono
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
Esecuzione del build riuscita, ma non vedo output
Sezione intitolata “Esecuzione del build riuscita, ma non vedo output”Sintomi:
- Il build mostra successo ma non c'è il link di download
Soluzioni:
-
Controlla la configurazione del build
- La memorizzazione degli artefatti potrebbe non essere configurata
- Contatta il supporto se l'accesso agli artefatti non è disponibile per il tuo build
-
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
- Controlla Play Console → Testing → Test interni
- Potrebbe richiedere alcuni minuti per il processo
Issue specifici del CI/CD
Sottosezione intitolata “Issue specifici del CI/CD”GitHub Azioni: “Comando non trovato”
Sottosezione intitolata “GitHub Azioni: “Comando non trovato””Sintomi:
bunx @capgo/cli@latest …fallisce in CI con “comando non trovato”
Soluzioni:
-
Configura Bun prima di tutto 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 }} -
Verifica che i nomi segreti corrispondano
- I nomi sono case-sensitive
- Nessun refuso nei riferimenti segreti
Ottenere più aiuto
Sezione intitolata “Ottenere più aiuto”Abilita la registrazione verbosa
Sezione intitolata “Abilita la registrazione verbosa”# 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 attuali:
- 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 per iOS - Configurazione specifica per iOS
- Costruzione per Android - Configurazione specifica per Android
- Riferimento CLI - Documentazione completa del comando