Risoluzione problemi
Copia un prompt di configurazione con i passaggi di installazione e la guida markdown completa per questo plugin.
Soluzioni ai problemi comuni durante la build di app native con Capgo Cloud Build.
Errori di build
Sezione intitolata âErrori di buildââUpload failedâ o âConnection timeoutâ
Sezione intitolata ââUpload failedâ o âConnection timeoutââSintomi:
- La build fallisce durante l'upload del progetto
- Errori di timeout dopo 60 secondi
Soluzioni:
-
Controlla la connessione a Internet
Finestra del terminale # Test connection to Capgocurl -I https://api.capgo.app -
Riduci la dimensione del progetto
- Assicurati
node_modules/non viene caricato (dovrebbe essere escluso automaticamente) - Controlla se ci sono file pesanti nel progetto:
Finestra del terminale find . -type f -size +10M - Assicurati
-
Verifica la scadenza dell'URL di upload
- Gli URL di upload scadono dopo 1 ora
- Se ricevi un errore di URL scaduto, riesegui il comando di build
âTimeout della build dopo 10 minutiâ
Sezione intitolata âTimeout del build dopo 10 minutiâSintomi:
- Il build supera il tempo massimo consentito
- Lo stato indica
timeout
Soluzioni:
-
Ottimizza le dipendenze
- Rimuovi i pacchetti npm inutilizzati
- Usa
npm prune --productionprima del build
-
Controlla eventuali problemi di rete nel build
- Alcune dipendenze potrebbero scaricare file pesanti durante il build
- Valuta il pre-caching con un lock file
-
Verifica le dipendenze native
Finestra del terminale # iOS - check Podfile for heavy dependenciescat ios/App/Podfile# Android - check build.gradlecat android/app/build.gradle -
Contatta il supporto
- Se la tua app ha legittimamente bisogno di piĂš tempo
- Possiamo regolare i limiti per casi d'uso specifici
Problemi di autenticazione
Sezione intitolata âProblemi di autenticazioneââChiave API non validaâ o âNon autorizzatoâ
Sezione intitolata ââChiave API non validaâ o âNon autorizzatoââSintomi:
- La build 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
writeoppureallpermessi - Controlla nel dashboard di Capgo sotto API Keys
- La chiave deve avere
-
Assicurati 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) -
Riautenticati
Finestra del terminale bunx @capgo/cli@latest login
âApp non trovataâ o âNessun permesso per questa appâ
Sezione intitolata ââApp not foundâ o âNo permission for this appââSintomi:
- Autenticazione riuscita ma errore specifico dell'app
Soluzioni:
-
Verifica che l'app sia registrata
Finestra del terminale bunx @capgo/cli@latest app list -
Controlla che l'app ID corrisponda
- Verifica
capacitor.config.jsonappId - Assicurati che il comando usi l'app ID corretto
- Verifica
-
Verifica l'accesso all'organizzazione
- Verifica di essere nell'organizzazione corretta
- La chiave API deve avere accesso all'organizzazione dell'app
Problemi con la build iOS
Sezione intitolata âProblemi con la build iOSââCode: firma non riuscitaâ
Sezione intitolata ââCode: firma non riuscitaââSintomi:
- Errore durante la fase di firma di code
- Errori Xcode relativi a certificati o profili
Soluzioni:
-
Verify certificate type matches build type
- Le build Development richiedono certificati Development
- Le build per l'App Store richiedono certificati Distribution
-
Verifica la corrispondenza tra certificato e profilo
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 provisioning profile sia valido
- Controlla la data di scadenza
- Verifica che includa il tuo App ID
- Verifica che includa il certificato
-
Rigenera le credenziali
- Elimina il vecchio certificato/profilo
- Creane di nuovi nel portale Apple Developer
- Ricodifica e aggiorna le variabili d'ambiente
âProvisioning profile non include il certificato di firmaâ
Sezione intitolata ââProvisioning profile doesnât include signing certificateââSintomi:
- Xcode non trova il certificato nel profilo
Soluzioni:
-
Scarica l'ultimo profilo da Apple
- Vai su Apple Developer â Certificates, IDs & Profiles
- Scarica il provisioning profile
- 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
- Nel portale Apple Developer, modifica il profilo
- Assicurati che sia selezionato il certificato di distribuzione
- Scarica e ricodifica
âAutenticazione ad App Store Connect non riuscitaâ
Sezione intitolata ââAutenticazione ad App Store Connect non riuscitaââSintomi:
- Upload a TestFlight non riuscito
- Errori chiave API
Soluzioni:
-
Verifica le credenziali della chiave API
- Controlla APPLE_KEY_ID (deve avere 10 caratteri)
- Controlla APPLE_ISSUER_ID (deve essere in 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 durata generati dall'ora di sistema locale
- Apple rifiuta i token che scadono oltre 20 minuti in futuro, quindi anche una piccola deriva dell'orologio può far fallire una chiave altrimenti valida
- Su Windows, apri Impostazioni > Ora & lingua > Data & ora e clicca Sincronizza ora
- Su macOS, apri Impostazioni di Sistema > Generali > Data & Ora e abilita l'ora automatica
- Su Linux, verifica
timedatectl statuse abilita NTP se necessario - Dopo la sincronizzazione, riesegui il comando di build o credenziali di Capgo
Consulta Apple Generazione di token per le richieste API documentazione sulla regola della durata del token di App Store Connect.
-
Testa la chiave API localmente
Finestra del terminale # Decode keyecho $APPLE_KEY_CONTENT | base64 -d > AuthKey.p8# Test with fastlane (if installed)fastlane pilot list -
Controlla i permessi della chiave API
- La chiave richiede il ruolo âDeveloperâ o superiore
- Verifica in App Store Connect -> Users and Access -> Keys
-
Assicurati che la chiave non sia stata revocata
- Controlla in App Store Connect
- Genera una nuova chiave se necessario
L'app si blocca all'avvio su iOS 27
Sezione intitolata âL'app va in crash all'avvio su iOS 27âSintomi:
- L'app compilata con Xcode 27 si chiude immediatamente su iOS 27 (TestFlight o dispositivo)
- Il report di crash mostra
_UIApplicationEvaluateRuntimeIssueForNoSceneLifecycleAdoption
Soluzione: le app compilate con iOS 27 SDK devono adottare il ciclo di vita UIScene. Aggiungi un SceneDelegate e a una UIApplicationSceneManifest a ios/App/App/Info.plist, oppure compila con --xcode-version 26. Capgo ora blocca queste compilazioni prima che inizino (verifica prescan ios/plist-scene-lifecycle-xcode27).
âPod install non riuscitoâ
Sezione intitolata ââPod install failedââSintomi:
- La build fallisce durante l'installazione di CocoaPods
- Errori nel Podfile
Soluzioni:
-
Verifica che Podfile.lock sia commitato
Finestra del terminale git status ios/App/Podfile.lock -
Testa pod install localmente
Finestra del terminale cd ios/Apppod install -
Controlla i pod non compatibili
- Controlla il Podfile per conflitti di versione
- Assicurati che tutti i pod supportino il tuo deployment target iOS
-
Svuota la cache dei pod
Finestra del terminale cd ios/Apprm -rf Podsrm Podfile.lockpod install# Then commit new Podfile.lock
Problemi di build su Android
Sezione intitolata âProblemi di build su AndroidââPassword keystore errataâ
Sezione intitolata ââKeystore password incorrectââSintomi:
- La build 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 d'ambiente
Finestra del terminale # Ensure no extra spaces or special charactersecho "$KEYSTORE_STORE_PASSWORD" | cat -Aecho "$KEYSTORE_KEY_PASSWORD" | cat -A -
Verifica la codifica base64
Finestra del terminale # Decode and testecho $ANDROID_KEYSTORE_FILE | base64 -d > test.keystorekeytool -list -keystore test.keystore
âKey alias non trovatoâ
Sezione intitolata âKey alias not foundâSintomi:
- La firma fallisce per errore di alias
Soluzioni:
-
Elenca gli alias del keystore
Finestra del terminale keytool -list -keystore my-release-key.keystore -
Verifica che l'alias corrisponda esattamente
- L'alias è case-sensitive
- Controlla gli errori di battitura in KEYSTORE_KEY_ALIAS
-
Usa l'alias corretto dal keystore
Finestra del terminale # Update environment variable to matchexport KEYSTORE_KEY_ALIAS="the-exact-alias-name"
âGradle build failedâ
Sezione intitolata ââGradle build failedââSintomi:
- Errori Gradle generici
- Problemi di compilazione o dipendenze
Soluzioni:
-
Testa prima la build localmente
Finestra del terminale cd android./gradlew clean./gradlew assembleRelease -
Controlla le dipendenze mancanti
- Controlla 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 -
Svuota la cache di Gradle
Finestra del terminale cd android./gradlew cleanrm -rf .gradle build
âUpload su Play Store non riuscitoâ
Sezione intitolata ââUpload su Play Store non riuscitoââSintomi:
- La build riesce ma l'upload fallisce
- Errori account di servizio
Soluzioni:
-
Verifica il JSON del service account
Finestra del terminale # Decode and check formatecho $PLAY_CONFIG_JSON | base64 -d | jq . -
Controlla i permessi del service account
- Vai su Play Console â Setup â Accesso API
- Assicurati che il service account abbia accesso all'app
- Concedi il permesso âRelease to testing tracksâ
-
Verifica che l'app sia configurata in Play Console
- L'app deve prima essere creata in Play Console
- Inizialmente deve essere caricato manualmente almeno un APK
-
Controlla che API sia abilitato
- L'API Google Play Developer deve essere abilitata
- Verifica in Google Cloud Console
Problemi generali
Sezione intitolata âProblemi generaliââJob not foundâ o âBuild status unavailableâ
Sezione intitolata ââJob not foundâ o âBuild status unavailableââSintomi:
- Impossibile controllare lo stato della build
- Errori nell'ID del job
Soluzioni:
-
Attendi un momento e riprova
- I job di build possono richiedere qualche secondo per inizializzarsi
-
Verifica che l'ID del job sia corretto
- Verifica il job ID nella risposta del build iniziale
-
Controlla che il build non sia scaduto
- I dati del build sono disponibili per 24 ore
âSincronizzazione del progetto fallitaâ
Sezione intitolata âProject sync failedâSintomi:
- Il build fallisce prima dell'inizio della compilazione
- Errori di file mancanti
Soluzioni:
-
Esegui Capacitor sync localmente
Finestra del terminale bunx cap sync -
Assicurati che tutti i file nativi siano commitati
Finestra del terminale git status ios/ android/ -
Controlla i file nativi ignorati da git
- Rivedi .gitignore
- Ensure important config files arenât ignored
âBuild riuscita ma non vedo lâoutputâ
Sezione intitolata ââBuild riuscita ma non vedo lâoutputââSintomi:
- Build riuscita ma nessun link di download
Soluzioni:
-
Verifica la configurazione di build
- Lo storage degli artifact potrebbe non essere configurato
- Contatta il supporto se l'accesso agli artifact non è disponibile per la tua build
-
Per l'invio su iOS TestFlight
- Verifica App Store Connect
- L'elaborazione può richiedere da 5 a 30 minuti dopo l'upload
-
Per Android Play Store
- Verifica Play Console â Testing â Internal testing
- L'elaborazione può richiedere alcuni minuti
Build riuscita ma artifact errato dopo un cambio di ambiente
Sezione intitolata âBuild riuscita ma artifact errato dopo un cambio di ambienteâSintomi:
- Stato del build è
successma l'IPA/AAB/APK non corrisponde al branch o al flavor appena buildato - AAB Android mancante o errato dopo aver cambiato le credenziali RC vs produzione o
--android-flavor - La build finisce sospettosamente in fretta subito dopo aver cambiato signing config o product flavor
Causa: Capgo ripristina la cache di build per app di default (ometti cache_key per la cache generale condivisa). Se RC e produzione condividono lo stesso app ID senza chiavi separate, un restore può riutilizzare l'output compilato dell'ambiente precedente.
Soluzioni:
-
Usa una cache key per ogni ambiente (consigliato per pipeline RC/PROD attive):
Finestra 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 -
Forza una build pulita durante il debugging:
Finestra del terminale bunx @capgo/cli@latest build request com.example.app --platform android --no-cache -
In API o nelle integrazioni webhook, passa
cache_key(ad esempio"prod") o impostacache_enabled: falseper un singolo run pulito.
Vedi Cache di build per il riferimento completo alle opzioni.
Problemi specifici di CI/CD
Sezione intitolata âProblemi specifici di CI/CDâAzioni GitHub: âCommand not foundâ
Sezione intitolata âGitHub Actions: âCommand not foundââSintomi:
bunx @capgo/cli@latest âŚfallisce in CI con âcommand not foundâ
Soluzioni:
-
Configura prima Bun quindi
bunxè disponibile:- uses: oven-sh/setup-bun@v2 -
Poi esegui CLI â
bunxlo scarica su richiesta, senza bisogno di installazione globale:- run: bunx @capgo/cli@latest build request com.example.app --platform android
GitHub Actions: âSecrets non trovatiâ
Sezione intitolata âGitHub Actions: âSecrets not foundââSintomi:
- Variabili d'ambiente vuote nel build
Soluzioni:
-
Verifica che i secrets siano impostati
- Vai su Impostazioni del repo â Secrets and variables â Actions
- Aggiungi tutti i segreti richiesti
-
Usa la sintassi corretta
env:CAPGO_TOKEN: ${{ secrets.CAPGO_TOKEN }} -
Verifica che i nomi dei segreti corrispondano
- I nomi distinguono tra maiuscole e minuscole
- Nessun refuso nei riferimenti ai segreti
Ottenere ulteriore assistenza
Sezione intitolata âOttenere ulteriore assistenzaâAbilita il logging dettagliato
Sezione intitolata âAbilita la registrazione dettagliataâ# Add debug flag (when available)bunx @capgo/cli@latest build request com.example.app --verboseRaccogli informazioni sulla build
Sezione intitolata âRaccogli informazioni di buildâQuando contatti il supporto, includi:
-
Comando di build utilizzato
Finestra del terminale bunx @capgo/cli@latest build request com.example.app --platform ios -
Messaggio di errore (output completo)
-
ID del job (dall'output di build)
-
Log di build (copia l'output completo del terminale)
-
Informazioni sull'ambiente
Finestra del terminale node --versionnpm --versionbunx @capgo/cli@latest --version
Contatta il supporto
Sezione intitolata âContatta il supportoâ- Discord: Unisciti alla nostra community
- Email: support@capgo.app
- Documentazione: Capgo Docs
Limitazioni note
Sezione intitolata âLimitazioni noteâLimitazioni attuali:
- Tempo massimo di build: 10 minuti
- Dimensione massima di upload: ~500MB
- Le build iOS richiedono lease Mac di 24 ore; la build su Mac viene messa in coda per garantire un utilizzo ottimale
- La disponibilitĂ del download degli artefatti di build dipende dalla destinazione della build e dalla configurazione dello storage degli artefatti
Queste limitazioni potrebbero essere modificate in base ai feedback.
Prescan ha bloccato la build
Sezione intitolata âPrescan ha bloccato la mia buildâCapgo esegue un prescan prima dell'upload. Correggi il problema segnalato o ignora solo quell'ID di controllo:
npx @capgo/cli@latest build request <appId> --platform ios \ --prescan-skip ios/capacitor-server-url-shippedConsulta il catalogo completo: Controlli prescan.
Risorse aggiuntive
Sezione âRisorse aggiuntiveâ- Per iniziare - Guida alla configurazione iniziale
- Opzioni di configurazione - flag CLI, tra cui
--cache-keye--no-cache - Build iOS - Configurazione specifica per iOS
- Build Android - Configurazione specifica per Android
- Controlli prescan - Elenco completo dei controlli pre-build e delle flag di ignoramento
- Riferimento CLI - Documentazione completa dei comandi