Risolvere problemi
Copy a setup prompt with the install steps and the full markdown guide for this plugin.
Soluzioni per i 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””Segni distintivi:
- Build fails during project upload
- Errori di timeout dopo 60 secondi
Soluzioni:
-
Controlla la tua connessione internet
Fenestra del terminale # Test connection to Capgocurl -I https://api.capgo.app -
Riduci le dimensioni del progetto
- Assicurati
node_modules/non viene caricato (dovrebbe essere escluso automaticamente) - Check for large files in your project:
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”
Sezione intitolata ““Timeout di costruzione dopo 10 minuti””Sintomi:
- Il build supera il tempo massimo consentito
- Lo stato mostra
timeout
Soluzioni:
-
Optimizzare le dipendenze
- Eliminare i 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
- Considerare il pre-caching con un file di blocco
-
Recensisci 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
- Potremmo regolare i limiti per casi d'uso specifici
Issue di autenticazione
Sottosezione intitolata “Issue di autenticazione”“API chiave non valida” o “Non autorizzato”
Sezione intitolata “chiave “API” non valida” o “Non autorizzato”Sintomi:
- Il build fallisce immediatamente con errore di autenticazione
- 401 o 403 errori
Soluzioni:
-
Verifica la chiave API corretta
Finestra del terminale # Test with a simple commandbunx @capgo/cli@latest app list -
Controlla i permessi della chiave API
- La chiave deve avere
writeoallpermissions - Controlla nel Capgo dashboard sotto API Chiavi
- La chiave deve avere
-
Assicurarsi che la chiave API 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) -
Riaccreditarsi
Finestra del terminale bunx @capgo/cli@latest login
"App non trovata" o "Nessuna autorizzazione per questa app"
Sezione intitolata ““App non trovata” o “Nessuna autorizzazione per questa app”””Sintomi:
- Authentication works but app-specific error
Soluzioni:
-
Verificare 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 - Ensure command uses correct app ID
- Verifica
-
Verifica l'accesso all'organizzazione
- Verifica di essere nell'organizzazione corretta
- API deve avere accesso all'organizzazione dell'app
Problemi di costruzione per iOS
Problemi di costruzione per iOS“Code la firma ha fallito”
Sezione intitolata ““Code firma fallita”””Sintomi:
- Build fails during code signing phase
- Errori di Xcode relativi a certificati o profili
Soluzioni:
-
Verify certificate type matches build type
- Le costruzioni di sviluppo richiedono certificati di sviluppo
- App Store builds need Distribution certificates
-
Check certificate and profile match
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 -
Ensure provisioning profile is valid
- Controlla la data di scadenza
- Verifica che contenga il tuo ID App
- Conferma che contenga il certificato
-
Regenera le credenziali
- Elimina il vecchio certificato/profilo
- Crea nuovi in Apple Developer portal
- Riacoda e aggiorna le variabili di ambiente
Profilo di provisioning non include certificato di firma
Profilo di provisioning non include certificato di firmaSintomi:
- Xcode non trova il certificato nel profilo
Soluzioni:
-
Scarica il profilo più recente da Apple
- Accedi a Apple Developer → Certificati, ID e Profili
- Scarica il profilo di provisioning
- Assicurati che contenga il tuo certificato
-
Verifica che il certificato sia presente nel profilo
Fenestra 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 Apple Developer, modifica il profilo
- Scegli la certificazione di distribuzione
- Scarica e ricodifica
"Autenticazione App Store Connect fallita"
Sezione intitolata ““Autenticazione App Store Connect fallita”””Sintomi:
- L'invio a TestFlight fallisce
- Errori chiave API
Soluzioni:
-
Verifica le credenziali della chiave API
- Controlla APPLE_KEY_ID (dovrebbe essere 10 caratteri)
- Controlla APPLE_ISSUER_ID (deve essere nel formato UUID)
- Verify APPLE_KEY_CONTENT is correctly base64-encoded
-
Sincronizza l'orologio del computer
- L'autenticazione 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 dell'orologio possono rendere una chiave altrimenti valida non valida
- Su Windows, apri Impostazioni > Tempo e lingua > Data e ora e clicca Aggiorna 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 - After syncing, re-run the Capgo build or credential command
Vedi Apple’s Generazione di token per le richieste API documentazione per la regola di durata del token di App Store Connect.
-
Testa la chiave API localmente
Fermata 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
- Verifica in App Store Connect -> Utenti e accessi -> Chiavi
-
Assicurati che la chiave non sia revocata
- Controlla in App Store Connect
- Genera una nuova chiave se necessario
“Ecco, il pod install è fallito”
Sezione intitolata ““Installazione pod fallita””Sintomi:
- Build fails during CocoaPods installation
- Errori di Podfile
Soluzioni:
-
Verifica che Podfile.lock sia stato commesso
Fenestra del terminale git status ios/App/Podfile.lock -
Testa l'installazione di pod localmente
Fenestra del terminale cd ios/Apppod install -
Controlla per pods incompatibili
- Verifica Podfile per conflitti di versione
- Ensure all pods support your iOS deployment target
-
Pulisci la cache dei pod
Fenestra del terminale cd ios/Apprm -rf Podsrm Podfile.lockpod install# Then commit new Podfile.lock
Issue di costruzione Android
Problemi di costruzione per Android“Password della chiave segreta sbagliata”
Password della chiave di sicurezza erratoSintomi:
- La costruzione fallisce durante la firma
- Errori di Gradle sulla chiave segreta
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 -
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”
Section titled ““Key alias not found””Sintomi:
- La firma fallisce con errore di alias
Soluzioni:
-
Elenco gli alias del keystore
Finestra del terminale keytool -list -keystore my-release-key.keystore -
Verifica che l'alias corrisponda esattamente
- L'alias è case-sensitive
- Check for typos 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"
“La costruzione del Gradle è fallita”
Errore di compilazione di GradleSintomi:
- Errori Gradle generici
- Issue di compilazione o di dipendenza
Soluzioni:
-
Testa la costruzione locale prima
Fenestra del terminale cd android./gradlew clean./gradlew assembleRelease -
Controlla le dipendenze mancanti
- Recensisci i file build.gradle
- Ensure all plugins are listed in dependencies
-
Verify Gradle version compatibility
Finestra del terminale # Check gradle versioncat android/gradle/wrapper/gradle-wrapper.properties -
Pulisci cache 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”””Sintomi:
- Il build ha successo ma l'upload fallisce
- Errori di account di servizio
Soluzioni:
-
Verifica il file JSON dell'account di servizio
Finestra del terminale # Decode and check formatecho $PLAY_CONFIG_JSON | base64 -d | jq . -
Check service account permissions
- Go to Play Console → Setup → API Access
- Ensure service account has access to your app
- Concedi il permesso di rilascio per le tracce di testing
-
Verify app is set up in Play Console
- L'app deve essere creata nella Console di Gioco prima
- Almeno un APK deve essere caricato manualmente inizialmente
-
Verifica che API sia abilitato
- Il Google Play Developer API deve essere abilitato
- Verifica nella Console di Google Cloud
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
-
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
- Build data is available for 24 hours
“La sincronizzazione del progetto è fallita”
Errore di sincronizzazione del progettoSintomi:
- Build fails before compilation starts
- Errori di file mancanti
Soluzioni:
-
Esegui Capacitor sincronizzazione localmente
Finestra del terminale bunx cap sync -
Assicurati di aver commesso tutti i file nativi.
Finestra del terminale git status ios/ android/ -
Verifica file nativi ignorati da Git
- Rivista .gitignore
- Ensure important config files aren’t ignored
“Il build è riuscito ma non vedo l’output”
Problema: “Il build è riuscito ma non vedo l’output”Sintomi:
- Build shows success but no download link
Soluzioni:
-
Verifica la configurazione del build
- 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
- Controlla App Store Connect
- Il processo potrebbe richiedere 5-30 minuti dopo l'upload
-
Per Android Store di Google
- Controlla Play Console → Testing → Internal testing
- Processing may take a few minutes
La build è riuscita ma l'artefatto è sbagliato dopo un cambio di ambiente
Costruito con successo, ma l'artefatto è errato dopo un cambio di ambienteSymptoms:
- Stato di costruzione è
successma l'IPA/AAB/APK non corrisponde alla branch o flavor che hai appena costruito - Android AAB mancante o errato dopo aver cambiato le credenziali RC rispetto a quelle di produzione
--android-flavor - Build finishes suspiciously fast right after changing signing config or product flavor
Causa: Capgo ripristina il cache di costruzione per applicazione 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 dall'ambiente precedente.
Soluzioni:
-
Utilizza 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 -
Esegui un costruzione pulita forzata quando si debugga:
Finestra del terminale bunx @capgo/cli@latest build request com.example.app --platform android --no-cache -
In API o integrazioni webhook, passa
cache_keyad esempio"prod") o impostalocache_enabled: falseper un singolo esecuzione pulita.
Vedi Build cache per la documentazione completa 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 prima di tutto così
bunxè disponibile:- uses: oven-sh/setup-bun@v2 -
Poi esegui il CLI —
bunxfetches it on demand, no global install needed:- 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 nella build
Soluzioni:
-
Verifica che i segreti siano impostati
- Vai alle 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 dei segreti corrispondano
- I nomi sono case-sensitive
- Nessun refuso nei riferimenti ai segreti
Ottenere Maggiore Aiuto
Sezione intitolata “Ottenere Maggiore Aiuto”Abilita Registro Verbose
Sezione intitolata “Abilita Registro Verbose”# Add debug flag (when available)bunx @capgo/cli@latest build request com.example.app --verboseRaccogli Informazioni di Costruzione
Raccogli Informazioni di CostruzioneQuando 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 l'output del terminale completo)
-
Informazioni sull'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 Docs
Limitazioni note
Sezione intitolata “Limitazioni note”Limitazioni correnti:
- Tempo massimo di costruzione: 10 minuti
- Dimensione massima di caricamento: ~500MB
- Le costruzioni per iOS richiedono leasing Mac di 24 ore, costruisci su Mac per assicurare l'uso ottimale
- La disponibilità del download dell'artefatto di build dipende dalla configurazione di destinazione e archiviazione dell'artefatto.
These limitations may be adjusted based on feedback.
Il prescan ha bloccato la mia costruzione
Section titled “Prescan blocked my build”Capgo esegue un prescan locale prescan prima del caricamento. Correggi il ritrovamento segnalato, o ignora solo quel controllo id:
npx @capgo/cli@latest build request <appId> --platform ios \ --prescan-skip ios/capacitor-server-url-shippedVedi il catalogo completo: Verifica Preliminare.
Risorse Aggiuntive
Sezione intitolata “Risorse Aggiuntive”- Getting Started - Guida di avvio iniziale
- Opzioni di Configurazione - CLI flag comprese
--cache-keye--no-cache - Costruzioni iOS - Configurazione specifica per iOS
- Costruzioni Android - Configurazione specifica per Android
- Verifica iniziale - Full list of pre-build checks and ignore flags
- CLI Riferimento - Documentazione completa della riga di comando