Saltar al contenido

Resolución de Problemas

Solutions a problemas comunes al construir aplicaciones nativas con Capgo Cloud Build.

”Falló la subida” o “Tiempo de conexión agotado”

Sección titulada “”Falló la subida” o “Tiempo de conexión agotado””

Síntomas:

  • El proyecto falla durante la subida del proyecto
  • Errores de tiempo después de 60 segundos

Soluciones:

  1. Verifique su conexión a Internet

    Ventana de terminal
    # Test connection to Capgo
    curl -I https://api.capgo.app
  2. Reducir el tamaño del proyecto

    • Asegúrese de que node_modules/ no se está subiendo (debería excluirse automáticamente)
    • Verifique archivos grandes en su proyecto:
    Ventana de terminal
    find . -type f -size +10M
  3. Verifique la expiración de la URL de carga

    • Las URL de carga caducan después de 1 hora
    • Si obtiene un error de URL caducada, vuelva a ejecutar el comando de compilación

”Tiempo de construcción después de 10 minutos”

Sección titulada “”Tiempo de construcción después de 10 minutos””

Síntomas:

  • La construcción excede el tiempo máximo permitido
  • Estado muestra timeout

Solutions:

  1. Optimizar dependencias

    • Eliminar paquetes npm no utilizados
    • Usar npm prune --production antes de construir
  2. Comprobar problemas de red en la construcción

    • Algunas dependencias pueden descargar archivos grandes durante la construcción
    • Considerar la caché previa con un archivo de bloqueo
  3. Revisar dependencias nativas

    Ventana de terminal
    # iOS - check Podfile for heavy dependencies
    cat ios/App/Podfile
    # Android - check build.gradle
    cat android/app/build.gradle
  4. Contactar al soporte

    • Si su aplicación necesita legítimamente más tiempo
    • Podemos ajustar los límites para casos de uso específicos

”API key invalid” or “Unauthorized”

Section titled “”API key invalid” or “Unauthorized””

Síntomas:

  • La compilación falla de inmediato con un error de autenticación
  • Errores 401 o 403

Soluciones:

  1. Verificar que la clave API sea correcta

    Ventana del terminal
    # Test with a simple command
    bunx @capgo/cli@latest app list
  2. Verificar permisos de la clave API

    • La clave debe tener write o all permisos
    • Verificar en el panel de control Capgo bajo API Claves
  3. Asegurarse de que la clave API esté siendo leída

    Ventana del terminal
    # Check environment variable
    echo $CAPGO_TOKEN
    # Or check your saved credentials file
    cat ~/.capgo-credentials/credentials.json # global
    cat .capgo-credentials.json # local (--local)
  4. Reautenticar

    Ventana del terminal
    bunx @capgo/cli@latest login

"La aplicación no encontrada" o "No tiene permiso para esta aplicación"

Sección titulada “”La aplicación no se encontró” o “No tiene permiso para esta aplicación””

Síntomas:

  • La autenticación funciona pero hay un error específico del aplicación

Soluciones:

  1. Verifica que la aplicación esté registrada

    ventana del terminal
    bunx @capgo/cli@latest app list
  2. Verifique que el ID de la aplicación coincida

    • Verificar capacitor.config.json appId
    • Asegúrese de que el comando utilice la ID de la aplicación correcta
  3. Verifique el acceso a la organización

    • Verifique que se encuentra en la organización correcta
    • La clave API debe tener acceso a la organización de la aplicación

Síntomas:

  • La compilación falla durante la fase de firma de code
  • Errores de Xcode sobre certificados o perfiles

Soluciones:

  1. Verifique que el tipo de certificado coincida con el tipo de construcción

    • Los builds de desarrollo necesitan certificados de desarrollo
    • Los builds de App Store necesitan certificados de distribución
  2. Compruebe que el certificado y el perfil coincidan

    Ventana de terminal
    # Decode and inspect your certificate
    echo $BUILD_CERTIFICATE_BASE64 | base64 -d > cert.p12
    openssl pkcs12 -in cert.p12 -nokeys -passin pass:$P12_PASSWORD | openssl x509 -noout -subject
  3. Asegúrese de que el perfil de provisión sea válido

    • Compruebe la fecha de vencimiento
    • Verifique que incluya su ID de App
    • Confirme que incluya el certificado
  4. Regenerar credenciales

    • Eliminar certificado/perfil antiguo
    • Crear nuevos en el portal del desarrollador de Apple
    • Re-encode y actualizar variables de entorno

”El perfil de provisión no incluye certificado de firma”

Sección titulada “”El perfil de provisión no incluye certificado de firma””

Síntomas:

  • Xcode no puede encontrar el certificado en el perfil

Solutions:

  1. Descargar el perfil más reciente de Apple

    • Ir a Desarrollador de Apple → Certificados, IDs y Perfiles
    • Descargar perfil de provisión
    • Asegurarse de que incluya su certificado
  2. Verificar que el certificado esté en el perfil

    Ventana de terminal
    # Extract profile
    echo $BUILD_PROVISION_PROFILE_BASE64 | base64 -d > profile.mobileprovision
    # View profile contents
    security cms -D -i profile.mobileprovision
  3. Recrear perfil con certificado correcto

    • En el portal de desarrollador de Apple, editar perfil
    • Asegúrate de que esté seleccionado tu certificado de distribución
    • Descargar y re-encodificar

”Falló la autenticación de App Store Connect”

Sección titulada “”Falló la autenticación de App Store Connect””

Síntomas:

  • Falló la subida a TestFlight
  • Errores en la clave API

Soluciones:

  1. Verificar credenciales de clave API

    • Comprobar APPLE_KEY_ID (debe ser de 10 caracteres)
    • Comprobar APPLE_ISSUER_ID (debe ser formato UUID)
    • Verificar que APPLE_KEY_CONTENT esté correctamente codificado en base64
  2. Sincronizar el reloj de tu computadora

    • La autenticación de App Store Connect utiliza JWTs de corta duración generados a partir del tiempo de sistema local
    • Apple rechaza tokens que expiran más de 20 minutos en el futuro, por lo que incluso pequeños desfases de reloj pueden hacer que una clave válida de otro modo fracase
    • En Windows, abre Configuración > Tiempo y idioma > Fecha y hora y haz clic en Sincronizar ahora
    • En macOS, abre Configuración del sistema > General > Fecha y hora y habilite la sincronización de hora automática
    • En Linux, verifique timedatectl status y habilite NTP si es necesario
    • Después de sincronizar, ejecute nuevamente la Capgo compilación o comando de credenciales

    Consulte la documentación de Apple para Generar tokens para solicitudes de API la regla de duración del token de App Store Connect.

  3. Pruebe la clave API localmente

    ventana de Terminal
    # Decode key
    echo $APPLE_KEY_CONTENT | base64 -d > AuthKey.p8
    # Test with fastlane (if installed)
    fastlane pilot list
  4. Verifique los permisos de la clave API

    • La clave necesita el rol de "Desarrollador" o superior
    • Verificar en App Store Connect -> Usuarios y Acceso -> Claves
  5. Asegurarse de que la clave no esté revocada

    • Comprobar en App Store Connect
    • Generar una nueva clave si es necesario

Síntomas:

  • La compilación falla durante la instalación de CocoaPods
  • Errores en Podfile

Soluciones:

  1. Verificar que Podfile.lock esté comprometido

    Ventana de terminal
    git status ios/App/Podfile.lock
  2. Probar instalación de pod localmente

    Ventana de terminal
    cd ios/App
    pod install
  3. Buscar pods incompatibles

    • Revisar Podfile para conflictos de versión
    • Asegurarse de que todos los pods soporten tu objetivo de despliegue de iOS
  4. Borrar caché de pods

    Ventana de terminal
    cd ios/App
    rm -rf Pods
    rm Podfile.lock
    pod install
    # Then commit new Podfile.lock

Síntomas:

  • La compilación falla durante la firma
  • Errores de Gradle sobre el keystore

Soluciones:

  1. Verificar la contraseña del keystore

    Ventana de terminal
    # Test keystore locally
    keytool -list -keystore my-release-key.keystore
    # Enter password when prompted
  2. Comprobar variables de entorno

    Ventana de terminal
    # Ensure no extra spaces or special characters
    echo "$KEYSTORE_STORE_PASSWORD" | cat -A
    echo "$KEYSTORE_KEY_PASSWORD" | cat -A
  3. Verificar codificación base64

    Ventana de terminal
    # Decode and test
    echo $ANDROID_KEYSTORE_FILE | base64 -d > test.keystore
    keytool -list -keystore test.keystore

Síntomas:

  • Falla al firmar con error de alias

Soluciones:

  1. Listar alias del keystore

    Ventana de terminal
    keytool -list -keystore my-release-key.keystore
  2. Verificar que el alias coincida exactamente

    • El alias es sensible a mayúsculas y minúsculas
    • Revisar errores de tecleo en KEYSTORE_KEY_ALIAS
  3. Usar el alias correcto del keystore

    Ventana de terminal
    # Update environment variable to match
    export KEYSTORE_KEY_ALIAS="the-exact-alias-name"

Síntomas:

  • Errores de Gradle generales
  • Problemas de compilación o dependencias

Soluciones:

  1. Prueba la compilación localmente primero

    Ventana de terminal
    cd android
    ./gradlew clean
    ./gradlew assembleRelease
  2. Buscar dependencias faltantes

    • Revisar archivos build.gradle
    • Asegurarse de que todos los plugins estén listados en dependencias
  3. Verificar compatibilidad de la versión de Gradle

    Ventana de terminal
    # Check gradle version
    cat android/gradle/wrapper/gradle-wrapper.properties
  4. Limpiar caché de Gradle

    Ventana de terminal
    cd android
    ./gradlew clean
    rm -rf .gradle build

Síntomas:

  • El build tiene éxito pero la subida falla
  • Errores de cuenta de servicio

Solutions:

  1. Verificar archivo JSON de cuenta de servicio

    Ventana de terminal
    # Decode and check format
    echo $PLAY_CONFIG_JSON | base64 -d | jq .
  2. Comprobar permisos de cuenta de servicio

    • Ir a Tienda de Juegos → Configuración → API Acceso
    • Asegurarse de que la cuenta de servicio tenga acceso a tu aplicación
    • Otorgar permiso para 'lanzar a pistas de prueba'
  3. Verificar que la aplicación esté configurada en el Console de Play

    • La aplicación debe haberse creado primero en el Console de Play
    • Se debe subir al menos un APK manualmente inicialmente
  4. Verificar que API esté habilitado

    • El desarrollador de Google Play API debe estar habilitado
    • Verificar en el Console de Google Cloud

'No se encontró trabajo' o 'Estado de construcción no disponible'

Título de la sección 'No se encontró trabajo' o 'Estado de construcción no disponible'

Síntomas:

  • No se puede verificar el estado de construcción
  • Errores de ID de trabajo

Solutions:

  1. Espera un momento y vuelve a intentarlo

    • Los trabajos de construcción pueden tardar unos segundos en inicializarse
  2. Verifica que el ID de trabajo sea correcto

    • Verifica el ID de trabajo desde la respuesta inicial de construcción
  3. Verifica que la construcción no ha expirado

    • Los datos de construcción están disponibles durante 24 horas

Simptomas:

  • Los errores de compilación ocurren antes de que comience la compilación
  • Errores de archivos faltantes

Solución:

  1. Ejecuta Capacitor sincronizado localmente

    Ventana de terminal
    bunx cap sync
  2. Asegúrate de que todos los archivos nativos estén comprometidos

    Ventana de terminal
    git status ios/ android/
  3. Verifica archivos nativos ignorados en Git

    • Revisa .gitignore
    • Asegúrate de que los archivos de configuración importantes no estén ignorados

”La compilación tuvo éxito pero no veo el resultado”

”La compilación tuvo éxito pero no veo el resultado”

Síntomas:

  • La compilación muestra éxito pero no hay enlace de descarga

Soluciones:

  1. Verifique la configuración de la compilación

    • La almacenamiento de artefactos puede no estar configurado
    • Contacte con el soporte si el acceso a los artefactos está inhabilitado para su compilación
  2. Para la presentación de pruebas de iOS en TestFlight

    • Verifique App Store Connect
    • El procesamiento puede tardar entre 5-30 minutos después de la carga
  3. Para Android Play Store

    • Ver Play Console → Pruebas → Pruebas internas
    • El procesamiento puede tardar unos minutos

Síntomas:

  • bunx @capgo/cli@latest … falla en CI con “comando no encontrado”

Soluciones:

  1. Configura Bun primero entonces bunx está disponible:

    - uses: oven-sh/setup-bun@v2
  2. Luego ejecuta el CLIbunx lo obtiene a demanda, no se necesita instalación global:

    - run: bunx @capgo/cli@latest build request com.example.app --platform android

GitHub Acciones: “No se encontraron secretos”

Sección titulada “GitHub Acciones: “No se encontraron secretos””

Síntomas:

  • Variables de entorno vacías en compilación

Soluciones:

  1. Verificar que los secretos estén configurados

    • Ir a configuración de repo → Secretos y variables → Acciones
    • Agregar todos los secretos necesarios
  2. Use syntax correctly

    env:
    CAPGO_TOKEN: ${{ secrets.CAPGO_TOKEN }}
  3. Comprobar que los nombres de las claves secretas coinciden

    • Los nombres son sensibles a mayúsculas y minúsculas
    • No hay errores de ortografía en las referencias a claves secretas
Ventana de terminal
# Add debug flag (when available)
bunx @capgo/cli@latest build request com.example.app --verbose

Al contactar con soporte, incluya:

  1. Comando de compilación utilizado

    Ventana de terminal
    bunx @capgo/cli@latest build request com.example.app --platform ios
  2. Mensaje de error (salida completa)

  3. ID de tarea (de salida de compilación)

  4. Registros de compilación (copiar salida completa de terminal)

  5. Información del entorno

    Ventana de terminal
    node --version
    npm --version
    bunx @capgo/cli@latest --version

Limitaciones actuales:

  • Tiempo máximo de construcción: 10 minutos
  • Tamaño máximo de carga: ~500MB
  • Los builds de iOS requieren arrendamientos de Mac de 24 horas, construya en Mac para encolar y asegurar un uso óptimo
  • La disponibilidad de descarga de artefactos de construcción depende de la configuración de destino de construcción y almacenamiento de artefactos

Estas limitaciones pueden ajustarse según la retroalimentación.