Saltar al contenido

Solucionar problemas

Soluciones a problemas comunes al crear aplicaciones nativas con Capgo Cloud Build.

Síntomas:

  • La construcción falla durante la subida del proyecto
  • Errores de tiempo después de 60 segundos

Soluciones:

  1. Verifica tu 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úrate de que node_modules/ no esté subiendo (debería excluirse automáticamente)
    • Verifica archivos grandes en tu proyecto:
    Ventana de terminal
    find . -type f -size +10M
  3. Verifica la expiración de la URL de subida

    • Las URLs de carga caducan después de 1 hora
    • Si obtiene un error de URL caducada, ejecute nuevamente 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 compilación supera el tiempo máximo permitido
  • El estado muestra timeout

Soluciones:

  1. Optimizar dependencias

    • Eliminar paquetes npm no utilizados
    • Usar npm prune --production antes de construir
  2. Comprobar problemas de red durante 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 con soporte

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

“La llave API es inválida” o “No autorizado”

Título de la sección “”API clave inválida” o “No autorizado””

Síntomas:

  • La construcción falla inmediatamente con error de autenticación
  • Errores 401 o 403

Soluciones:

  1. Verificar que la clave API esté 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 la consola de Capgo bajo API Claves
  3. Asegurarse de que la clave API esté siendo leída

    Ventana de 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 de terminal
    bunx @capgo/cli@latest login

”No se encontró la aplicación” o “No tiene permiso para esta aplicación””

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

Síntomas:

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

Soluciones:

  1. Verificar que la aplicación esté registrada

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

    • Verificar capacitor.config.json appId
    • Asegurarse de que el comando utilice el ID de la aplicación correcto
  3. Verificar 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 aplicación

Síntomas:

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

Soluciones:

  1. Verificar que el tipo de certificado coincide con el tipo de compilación

    • Los builds de desarrollo necesitan certificados de desarrollo
    • Los builds de la Tienda de Aplicaciones necesitan certificados de distribución
  2. Compruebe que el certificado y el perfil coinciden

    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 es válido

    • Compruebe la fecha de vencimiento
    • Verifique que incluye su ID de Aplicación
    • Confirme que incluye el certificado
  4. Regenerar credenciales

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

”Provisioning profile doesn’t include signing certificate”

Section titled “”Provisioning profile doesn’t include signing certificate””

Síntomas:

  • Xcode no puede encontrar el certificado en el perfil

Soluciones:

  1. Descargar el perfil más reciente de Apple

    • Ir a Desarrollador de Apple → Certificados, IDs y Perfiles
    • Descargar perfil de configuració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 desarrolladores de Apple, editar perfil
    • Asegúrate de que se haya seleccionado tu certificado de distribución
    • Descargar y re-encodificar

Síntomas:

  • La subida a TestFlight falla
  • Errores en la clave API

Soluciones:

  1. Verificar credenciales de la clave API

    • Verifique que APPLE_KEY_ID tenga 10 caracteres
    • Verifique que APPLE_ISSUER_ID tenga formato UUID
    • Verifique que APPLE_KEY_CONTENT esté correctamente codificado en base64
  2. 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
  3. Verifique las permisos de la clave API

    • La clave necesita el rol 'Desarrollador' o superior
    • Verifique en App Store Connect → Usuarios y acceso → Claves
  4. Asegúrese de que la clave no esté revocada

    • Verifique en App Store Connect
    • Genere 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é commitado

    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. Verifique pods incompatibles

    • Revisar Podfile para conflictos de versión
    • Asegúrese de que todos los pods admitan su destino de despliegue 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 keystore

Soluciones:

  1. Verificar contraseña de keystore

    Ventana de terminal
    # Test keystore locally
    keytool -list -keystore my-release-key.keystore
    # Enter password when prompted
  2. Verificar 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:

  • La firma falla con error de alias

Solutions:

  1. Lista de 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
    • Compruebe que no haya errores de tecleo en KEYSTORE_KEY_ALIAS
  3. Utilice 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 del terminal
    cd android
    ./gradlew clean
    ./gradlew assembleRelease
  2. Verifique las dependencias faltantes

    • Revisar archivos build.gradle
    • Asegúrese de que todas las plugins estén listadas en dependencias
  3. Verifique la compatibilidad de la versión de Gradle

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

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

Síntomas:

  • El proyecto se compila correctamente pero el envío falla
  • Errores en la cuenta de servicio

Solutions:

  1. Verificar el archivo JSON de la cuenta de servicio

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

    • Ir a Play Console → Configuración → API Acceso
    • Asegurarse de que la cuenta de servicio tenga acceso a tu aplicación
    • Otorgar permiso de “Lanzar a pistas de pruebas”
  3. Comprobar que la aplicación esté configurada en Play Console

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

    • Google Play Developer API debe estar habilitado
    • Verificar en la Consola de Cloud Google

”Job not found” or “Build status unavailable”

o “Estado de construcción no disponible”

Sección titulada “” o “Estado de construcción no disponible””

  • Síntomas:
  • No se puede verificar el estado de construcción

Errores de ID de trabajo

  1. Soluciones:

    • Espera un momento y vuelve a intentarlo. Los trabajos de construcción pueden tardar unos segundos en inicializarse
  2. Verificar el ID de trabajo es correcto

    • Verificar el ID de trabajo desde la respuesta de la construcción inicial
  3. Comprobar que la construcción no ha caducado

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

”Project sync failed”

Sección titulada “”

Síntomas:

  • La construcción falla antes de que comience la compilación
  • Errores de archivos faltantes

Soluciones:

  1. Ejecutar Capacitor sincronización local

    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

”Se completó la construcción, pero no veo el resultado”

Sección titulada “”Se completó la construcción, pero no veo el resultado””

Síntomas:

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

Soluciones:

  1. Verifique la configuración de compilación

    • La almacenamiento de artefactos puede no estar configurado
    • Contacte con el soporte si el acceso a los artefactos no está disponible para su compilación
  2. Para la presentación 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

    • Verifique 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 instalación global necesaria:

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

Síntomas:

  • Variables de entorno vacías en la compilación

Soluciones:

  1. Verificar que los secretos estén configurados

    • Ir a la configuración de la carpeta de repositorio → Secretos y variables → Acciones
    • Agregar todos los secretos requeridos
  2. Usar la sintaxis correcta

    env:
    CAPGO_TOKEN: ${{ secrets.CAPGO_TOKEN }}
  3. Comprobar que los nombres de los secretos coincidan

    • Los nombres son sensibles a mayúsculas y minúsculas
    • No hay errores de ortografía en las referencias a secretos
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 trabajo (desde la salida de compilación)

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

  5. Información del entorno

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

Limitaciones actuales:

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

Estas limitaciones pueden ser ajustadas según la retroalimentación.