Solución de problemas
Copia un prompt de configuración con los pasos de instalación y la guía completa en markdown para este plugin.
Soluciones a problemas comunes al compilar apps nativas con Capgo Cloud Build.
Errores de compilación
Sección titulada “Errores de compilación”“Upload failed” o “Connection timeout”
Sección titulada ““Upload failed” o “Connection timeout””Síntomas:
- El build falla durante la subida del proyecto
- Errores de timeout tras 60 segundos
Soluciones:
-
Comprueba tu conexión a internet
Ventana de terminal # Test connection to Capgocurl -I https://api.capgo.app -
Reduce el tamaño del proyecto
- Ensure
node_modules/no se esté subiendo (debería excluirse automáticamente) - Revisa si hay archivos grandes en tu proyecto:
Ventana de terminal find . -type f -size +10M - Ensure
-
Verificar caducidad de la URL de upload
- Las URLs de subida caducan a la hora
- Si recibes un error de URL caducada, vuelve a ejecutar el comando de build
“Error de tiempo de espera tras 10 minutos de build”
Sección titulada «Tiempo de build agotado tras 10 minutos»Síntomas:
- El build supera el tiempo máximo permitido
- El estado muestra
timeout
Soluciones:
-
Optimiza dependencias
- Elimina los paquetes de npm no utilizados
- Usa
npm prune --productionantes de compilar
-
Revisa problemas de red en el build
- Algunas dependencias pueden descargar archivos grandes durante el build
- Considera pre-cachear con un lock file
-
Revisa las dependencias nativas
Ventana de terminal # iOS - check Podfile for heavy dependenciescat ios/App/Podfile# Android - check build.gradlecat android/app/build.gradle -
Contactar con soporte
- Si tu app realmente necesita más tiempo
- Podemos ajustar los límites para casos de uso concretos
Problemas de autenticación
Sección titulada “Problemas de autenticación”“API key invalid” o “Unauthorized”
Sección titulada ““API key invalid” o “Unauthorized””Síntomas:
- El build falla inmediatamente con un error de autenticación
- Errores 401 o 403
Soluciones:
-
Verifica que la clave API sea correcta
Ventana de terminal # Test with a simple commandbunx @capgo/cli@latest app list -
Revisa los permisos de la clave API
- La clave debe tener
writeoallpermisos - Revisa el dashboard de Capgo en API Keys
- La clave debe tener
-
Asegúrate de que se esté leyendo la clave API
Ventana de terminal # Check environment variableecho $CAPGO_TOKEN# Or check your saved credentials filecat ~/.capgo-credentials/credentials.json # globalcat .capgo-credentials.json # local (--local) -
Reautenticarse
Ventana de terminal bunx @capgo/cli@latest login
“App not found” o “No permission for this app”
Sección titulada “«App no encontrada» o «Sin permiso para esta app»”Síntomas:
- Autenticación funciona, pero error específico de la app
Soluciones:
-
Verifica que la app esté registrada
Ventana de terminal bunx @capgo/cli@latest app list -
Comprueba que coincida el app ID
- Verifica
capacitor.config.jsonappId - Comprueba que el comando use el app ID correcto
- Verifica
-
Verifica el acceso a la organización
- Comprueba que estás en la organización correcta
- La clave API debe tener acceso a la organización de la app
Problemas de build en iOS
Sección titulada “Problemas de build en iOS”“Error al firmar Code”
Sección titulada ““Error de firma de Code””Síntomas:
- El build falla durante la fase de firma de code
- Errores de Xcode con certificados o provisioning profiles
Soluciones:
-
Verifica que el certificado sea del tipo de build
- Los builds de Development requieren certificados de Development
- Los builds de App Store requieren certificados de Distribution
-
Comprueba que el certificado y el perfil coincidan
Ventana de terminal # 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 -
Asegúrate de que el provisioning profile sea válido
- Revisa la fecha de expiración
- Verifica que incluya tu App ID
- Confirma que incluye el certificado
-
Regenerar credenciales
- Eliminar certificado/perfil antiguo
- Crear nuevos en el portal de Apple Developer
- Recodificar y actualizar las variables de entorno
“El provisioning profile no incluye el certificado de firma”
Sección titulada “El provisioning profile no incluye el certificado de firma”Síntomas:
- Xcode no encuentra el certificado en el perfil
Soluciones:
-
Descargar el último perfil de Apple
- Ve a Apple Developer → Certificates, IDs & Profiles
- Descargar el provisioning profile
- Asegúrate de que incluya tu certificado
-
Verifica que el certificado esté en el perfil
Ventana de terminal # Extract profileecho $BUILD_PROVISION_PROFILE_BASE64 | base64 -d > profile.mobileprovision# View profile contentssecurity cms -D -i profile.mobileprovision -
Recrea el perfil con el certificado correcto
- En el portal de Apple Developer, edita el perfil
- Asegúrate de que tu distribution certificate esté seleccionado
- Descargar y recodificar
“Error de autenticación en App Store Connect”
Sección titulada ““App Store Connect authentication failed””Síntomas:
- Error al subir a TestFlight
- Errores de clave API
Soluciones:
-
Verifica las credenciales de la clave API
- Revisa APPLE_KEY_ID (debe tener 10 caracteres)
- Revisa APPLE_ISSUER_ID (debe estar en formato UUID)
- Verifica que APPLE_KEY_CONTENT esté codificado correctamente en base64
-
Sincroniza la hora de tu equipo
- La autenticación de App Store Connect usa JWT de corta duración generados con la hora local de tu sistema
- Apple rechaza tokens que caducan más de 20 minutos en el futuro, por lo que incluso una pequeña desviación de reloj puede hacer que una clave válida falle
- En Windows, abre Configuración > Hora e idioma > Fecha y hora y haz clic en Sync now
- En macOS, abre Ajustes del Sistema > General > Fecha y hora y activa la hora automática
- En Linux, comprueba
timedatectl statusy activa NTP si es necesario - Tras sincronizar, vuelve a ejecutar el comando de Capgo build o de credenciales
Ver los de Apple Generación de tokens para solicitudes de API para conocer la regla de duración de tokens de App Store Connect.
-
Probar la clave API localmente
Ventana de terminal # Decode keyecho $APPLE_KEY_CONTENT | base64 -d > AuthKey.p8# Test with fastlane (if installed)fastlane pilot list -
Revisa los permisos de la clave API
- La clave requiere el rol “Developer” o superior
- Verifica en App Store Connect -> Usuarios y acceso -> Claves
-
Asegúrate de que la clave no esté revocada
- Compruébalo en App Store Connect
- Genera una nueva clave si es necesario
La app falla al iniciar en iOS 27
Sección titulada “La app falla al iniciar en iOS 27”Síntomas:
- La app compilada con Xcode 27 se cierra de inmediato en iOS 27 (TestFlight o dispositivo)
- El informe de fallos muestra
_UIApplicationEvaluateRuntimeIssueForNoSceneLifecycleAdoption
Solución: las apps creadas con el SDK de iOS 27 deben adoptar el ciclo de vida UIScene. Añade un SceneDelegate y un UIApplicationSceneManifest a ios/App/App/Info.plist, o compila con --xcode-version 26. Capgo ahora bloquea estas builds antes de que empiecen (verificación prescan ios/plist-scene-lifecycle-xcode27).
“Error al ejecutar pod install”
Sección titulada ““Pod install failed””Síntomas:
- El build falla al instalar CocoaPods
- Errores en el Podfile
Soluciones:
-
Verifica que Podfile.lock esté commiteado
Ventana de terminal git status ios/App/Podfile.lock -
Prueba pod install localmente
Ventana de terminal cd ios/Apppod install -
Busca pods incompatibles
- Revisa el Podfile por conflictos de versión
- Asegúrate de que los pods soporten tu iOS deployment target
-
Limpia el caché de pods
Ventana de terminal cd ios/Apprm -rf Podsrm Podfile.lockpod install# Then commit new Podfile.lock
Problemas de build en Android
Sección titulada “Problemas de build en Android”“Contraseña de Keystore incorrecta”
Sección titulada ““Keystore password incorrect””Síntomas:
- El build falla durante el signing
- Errores de Gradle relacionados con el keystore
Soluciones:
-
Verificar la contraseña del keystore
Ventana de terminal # Test keystore locallykeytool -list -keystore my-release-key.keystore# Enter password when prompted -
Revisar las variables de entorno
Ventana de terminal # Ensure no extra spaces or special charactersecho "$KEYSTORE_STORE_PASSWORD" | cat -Aecho "$KEYSTORE_KEY_PASSWORD" | cat -A -
Verificar la codificación base64
Ventana de terminal # Decode and testecho $ANDROID_KEYSTORE_FILE | base64 -d > test.keystorekeytool -list -keystore test.keystore
“No se encontró el alias de la clave”
Sección titulada “Key alias not found”Síntomas:
- El firmado falla con un error de alias
Soluciones:
-
Listar los alias del keystore
Ventana de terminal keytool -list -keystore my-release-key.keystore -
Verificar que el alias coincida exactamente
- El alias distingue entre mayúsculas y minúsculas
- Revisar errores tipográficos en KEYSTORE_KEY_ALIAS
-
Usar el alias correcto del keystore
Ventana de terminal # Update environment variable to matchexport KEYSTORE_KEY_ALIAS="the-exact-alias-name"
“Error en el build de Gradle”
Sección titulada «Error en la compilación de Gradle»Síntomas:
- Errores genéricos de Gradle
- Problemas de compilación o dependencias
Soluciones:
-
Prueba la compilación localmente primero
Ventana de terminal cd android./gradlew clean./gradlew assembleRelease -
Revisa las dependencias faltantes
- Revisa los archivos build.gradle
- Asegúrate de que todos los plugins estén listados en dependencies
-
Verificar compatibilidad de la versión de Gradle
Ventana de terminal # Check gradle versioncat android/gradle/wrapper/gradle-wrapper.properties -
Limpia la caché de Gradle
Ventana de terminal cd android./gradlew cleanrm -rf .gradle build
“Error al subir a la Play Store”
Sección titulada ““Falló la subida a Play Store””Síntomas:
- El build tiene éxito pero la subida falla
- Errores de cuenta de servicio
Soluciones:
-
Verificar el JSON de la cuenta de servicio
Ventana de terminal # Decode and check formatecho $PLAY_CONFIG_JSON | base64 -d | jq . -
Comprobar permisos de la cuenta de servicio
- Ir a Play Console → Configuración → Acceso a la API
- Asegurar que la cuenta de servicio tenga acceso a tu app
- Otorgar el permiso “Publicar en pistas de prueba”
-
Verificar que la app esté configurada en Play Console
- Primero debes crear la app en Play Console
- Debes subir al menos un APK manualmente al inicio
-
Comprobar que API esté habilitada
- La API de Google Play Developer debe estar habilitada
- Verificar en Google Cloud Console
Problemas generales
Sección titulada “Problemas generales”“Job not found” o “Build status unavailable”
Sección titulada ““Job not found” o “Build status unavailable””Síntomas:
- No se puede verificar el estado del build
- Errores de Job ID
Soluciones:
-
Espera un momento e inténtalo de nuevo
- Los trabajos de build pueden tardar unos segundos en inicializarse
-
Comprueba que el ID del trabajo es correcto
- Verifica el ID del job en la respuesta inicial del build
-
Comprueba que el build no haya expirado
- Los datos del build están disponibles durante 24 horas
“Error al sincronizar el proyecto”
Sección titulada “Project sync failed”Síntomas:
- El build falla antes de iniciar la compilación
- Errores por archivos faltantes
Soluciones:
-
Ejecuta Capacitor sync localmente
Ventana de terminal bunx cap sync -
Ensure all native files are committed
Ventana de terminal git status ios/ android/ -
Busca archivos nativos ignorados por git
- Revisa el .gitignore
- Asegura que no se ignoren archivos de config importantes
El build se completó pero no veo el output
Sección titulada ““El build fue exitoso pero no veo el output””Síntomas:
- Build exitoso pero sin link de descarga
Soluciones:
-
Revisa la configuración del build
- Artifact storage may not be configured
- Contacta con soporte si no tienes acceso a los artefactos de tu build
-
Para el envío a TestFlight de iOS
- Revisa App Store Connect
- El procesamiento puede tardar de 5 a 30 minutos tras el upload
-
Para Android Play Store
- Revisa Play Console → Testing → Internal testing
- El procesamiento puede tardar unos minutos
El build fue exitoso pero el artifact es incorrecto tras cambiar de entorno
Sección titulada «Build succeeded but artifact is wrong after an environment switch»Síntomas:
- El estado del build es
successpero el IPA/AAB/APK no coincide con la rama o el flavor que acabas de compilar - AAB de Android ausente o incorrecto tras cambiar credenciales de RC vs producción o
--android-flavor - El build termina sospechosamente rápido tras cambiar la config de firma o el product flavor
Causa: Capgo restaura el caché de build por app por defecto (omite cache_key para la caché general compartida). Si RC y producción comparten el mismo app ID sin claves separadas, una restauración puede reutilizar la salida compilada del entorno anterior.
Soluciones:
-
Usa una clave de caché por entorno (recomendado para pipelines RC/PROD continuos):
Ventana de terminal # 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 -
Forzar un build limpio al depurar:
Ventana de terminal bunx @capgo/cli@latest build request com.example.app --platform android --no-cache -
En API o integraciones de webhook, pasa
cache_key(por ejemplo"prod") o establecercache_enabled: falsepara una sola ejecución limpia.
Ver Caché de build para la referencia completa de opciones.
Problemas específicos de CI/CD
Sección titulada “Problemas específicos de CI/CD”Acciones de GitHub: “Command not found”
Sección titulada “GitHub Actions: “Command not found””Síntomas:
bunx @capgo/cli@latest …falla en CI con “command not found”
Soluciones:
-
Configura Bun primero para que
bunxestá disponible:- uses: oven-sh/setup-bun@v2 -
Luego ejecuta el CLI —
bunxlo descarga bajo demanda, sin instalación global:- run: bunx @capgo/cli@latest build request com.example.app --platform android
Acciones de GitHub: “Secrets not found”
Sección titulada “GitHub Actions: ‘Secrets not found’”Síntomas:
- Variables de entorno vacías en el build
Soluciones:
-
Verifica que los secrets estén configurados
- Ve a Settings del repo → Secrets and variables → Actions
- Añade todos los secrets necesarios
-
Usa la sintaxis correcta
env:CAPGO_TOKEN: ${{ secrets.CAPGO_TOKEN }} -
Comprueba que los nombres de secretos coincidan
- Los nombres distinguen entre mayúsculas y minúsculas
- Sin errores tipográficos en las referencias de secretos
Obtener más ayuda
Sección titulada “Obtener más ayuda”Activar logs detallados
Sección titulada “Habilitar registros detallados”# Add debug flag (when available)bunx @capgo/cli@latest build request com.example.app --verboseRecopilar información del build
Sección titulada “Recopilar información de la compilación”Al contactar con soporte, incluye:
-
Comando de build utilizado
Ventana de terminal bunx @capgo/cli@latest build request com.example.app --platform ios -
Mensaje de error (salida completa)
-
ID del job (de la salida de build)
-
Logs de build (copia la salida completa de la terminal)
-
Información del entorno
Ventana de terminal node --versionnpm --versionbunx @capgo/cli@latest --version
Contactar con soporte
Sección titulada “Contactar con soporte”- Discord: Únete a nuestra comunidad
- Email: support@capgo.app
- Documentación: Capgo Docs
Limitaciones conocidas
Sección titulada “Limitaciones conocidas”Limitaciones actuales:
- Tiempo máximo de build: 10 minutos
- Tamaño máximo de upload: ~500MB
- Los builds de iOS requieren alquileres de Mac de 24 horas; los builds en Mac se encolan para garantizar un uso óptimo
- La disponibilidad de la descarga del artefacto de build depende del destino del build y la configuración de almacenamiento de artefactos
Estas limitaciones pueden ajustarse según el feedback.
Prescan bloqueó mi build
Sección titulada “Prescan bloqueó mi build”Capgo ejecuta un prescan antes del upload. Corrige el hallazgo reportado o ignora solo ese id de check:
npx @capgo/cli@latest build request <appId> --platform ios \ --prescan-skip ios/capacitor-server-url-shippedConsulta el catálogo completo: Checks de prescan.
Recursos adicionales
Sección titulada “Recursos adicionales”- Primeros pasos - Guía de configuración inicial
- Opciones de configuración - Flags de CLI, incluyendo
--cache-keyy--no-cache - Builds de iOS - Configuración específica para iOS
- Builds de Android - Configuración específica para Android
- Checks de prescan - Lista completa de checks previos al build y flags de ignorado
- Referencia de CLI - Documentación completa de comandos