Troubleshooting
此内容尚不支持你的语言。
Solutions to common issues when building native apps with Capgo Cloud Build.
Build Failures
”Upload failed” or “Connection timeout”
Symptoms:
- Build fails during project upload
- Timeout errors after 60 seconds
Solutions:
-
Check your internet connection
Terminal window # Test connection to Capgocurl -I https://api.capgo.app -
Reduce project size
- Ensure
node_modules/is not being uploaded (should be auto-excluded) - Check for large files in your project:
Terminal window find . -type f -size +10M - Ensure
-
Check upload URL expiration
- Upload URLs expire after 1 hour
- If you get an expired URL error, re-run the build command
”Build timeout after 10 minutes”
Symptoms:
- Build exceeds maximum allowed time
- Status shows
timeout
Solutions:
-
Optimize dependencies
- Remove unused npm packages
- Use
npm prune --productionbefore building
-
Check for network issues in build
- Some dependencies may download large files during build
- Consider pre-caching with a lock file
-
Review native dependencies
Terminal window # iOS - check Podfile for heavy dependenciescat ios/App/Podfile# Android - check build.gradlecat android/app/build.gradle -
Contact support
- If your app legitimately needs more time
- We can adjust limits for specific use cases
Authentication Issues
”API key invalid” or “Unauthorized”
Symptoms:
- Build fails immediately with authentication error
- 401 or 403 errors
Solutions:
-
Verify API key is correct
Terminal window # Test with a simple commandnpx @capgo/cli@latest app list -
Check API key permissions
- Key must have
writeorallpermissions - Check in Capgo dashboard under API Keys
- Key must have
-
Ensure API key is being read
Terminal window # Check environment variableecho $CAPGO_TOKEN# Or verify local .capgo filecat .capgo -
Re-authenticate
Terminal window npx @capgo/cli@latest login
”App not found” or “No permission for this app”
Symptoms:
- Authentication works but app-specific error
Solutions:
-
Verify app is registered
Terminal window npx @capgo/cli@latest app list -
Check app ID matches
- Verify
capacitor.config.jsonappId - Ensure command uses correct app ID
- Verify
-
Verify organization access
- Check you’re in the correct organization
- API key must have access to the app’s organization
iOS Build Issues
”Code signing failed”
Symptoms:
- Build fails during code signing phase
- Xcode errors about certificates or profiles
Solutions:
-
Verify certificate type matches build type
- Development builds need Development certificates
- App Store builds need Distribution certificates
-
Check certificate and profile match
Terminal window # 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
- Check expiration date
- Verify it includes your App ID
- Confirm it includes the certificate
-
Regenerate credentials
- Delete old certificate/profile
- Create new ones in Apple Developer portal
- Re-encode and update environment variables
”Provisioning profile doesn’t include signing certificate”
Symptoms:
- Xcode can’t find certificate in profile
Solutions:
-
Download latest profile from Apple
- Go to Apple Developer → Certificates, IDs & Profiles
- Download provisioning profile
- Ensure it includes your certificate
-
Verify certificate is in profile
Terminal window # Extract profileecho $BUILD_PROVISION_PROFILE_BASE64 | base64 -d > profile.mobileprovision# View profile contentssecurity cms -D -i profile.mobileprovision -
Recreate profile with correct certificate
- In Apple Developer portal, edit profile
- Ensure your distribution certificate is selected
- Download and re-encode
”App Store Connect authentication failed”
Symptoms:
- Upload to TestFlight fails
- API key errors
Solutions:
-
Verify API key credentials
- Check APPLE_KEY_ID (should be 10 characters)
- Check APPLE_ISSUER_ID (should be UUID format)
- Verify APPLE_KEY_CONTENT is correctly base64-encoded
-
Test API key locally
Terminal window # Decode keyecho $APPLE_KEY_CONTENT | base64 -d > AuthKey.p8# Test with fastlane (if installed)fastlane pilot list -
Check API key permissions
- Key needs “Developer” role or higher
- Verify in App Store Connect → Users and Access → Keys
-
Ensure key is not revoked
- Check in App Store Connect
- Generate new key if needed
”Pod install failed”
Symptoms:
- Build fails during CocoaPods installation
- Podfile errors
Solutions:
-
Verify Podfile.lock is committed
Terminal window git status ios/App/Podfile.lock -
Test pod install locally
Terminal window cd ios/Apppod install -
Check for incompatible pods
- Review Podfile for version conflicts
- Ensure all pods support your iOS deployment target
-
Clear pod cache
Terminal window cd ios/Apprm -rf Podsrm Podfile.lockpod install# Then commit new Podfile.lock
Android Build Issues
”Keystore password incorrect”
Symptoms:
- Build fails during signing
- Gradle errors about keystore
Solutions:
-
Verify keystore password
Terminal window # Test keystore locallykeytool -list -keystore my-release-key.keystore# Enter password when prompted -
Check environment variables
Terminal window # Ensure no extra spaces or special charactersecho "$KEYSTORE_STORE_PASSWORD" | cat -Aecho "$KEYSTORE_KEY_PASSWORD" | cat -A -
Verify base64 encoding
Terminal window # Decode and testecho $ANDROID_KEYSTORE_FILE | base64 -d > test.keystorekeytool -list -keystore test.keystore
”Key alias not found”
Symptoms:
- Signing fails with alias error
Solutions:
-
List keystore aliases
Terminal window keytool -list -keystore my-release-key.keystore -
Verify alias matches exactly
- Alias is case-sensitive
- Check for typos in KEYSTORE_KEY_ALIAS
-
Use correct alias from keystore
Terminal window # Update environment variable to matchexport KEYSTORE_KEY_ALIAS="the-exact-alias-name"
”Gradle build failed”
Symptoms:
- Generic Gradle errors
- Compilation or dependency issues
Solutions:
-
Test build locally first
Terminal window cd android./gradlew clean./gradlew assembleRelease -
Check for missing dependencies
- Review build.gradle files
- Ensure all plugins are listed in dependencies
-
Verify Gradle version compatibility
Terminal window # Check gradle versioncat android/gradle/wrapper/gradle-wrapper.properties -
Clear Gradle cache
Terminal window cd android./gradlew cleanrm -rf .gradle build
”Play Store upload failed”
Symptoms:
- Build succeeds but upload fails
- Service account errors
Solutions:
-
Verify service account JSON
Terminal window # 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
- Grant “Release to testing tracks” permission
-
Verify app is set up in Play Console
- App must be created in Play Console first
- At least one APK must be uploaded manually initially
-
Check API is enabled
- Google Play Developer API must be enabled
- Check in Google Cloud Console
General Issues
”Job not found” or “Build status unavailable”
Symptoms:
- Cannot check build status
- Job ID errors
Solutions:
-
Wait a moment and retry
- Build jobs may take a few seconds to initialize
-
Check job ID is correct
- Verify the job ID from the initial build response
-
Check build hasn’t expired
- Build data is available for 24 hours
”Project sync failed”
Symptoms:
- Build fails before compilation starts
- Missing files errors
Solutions:
-
Run Capacitor sync locally
Terminal window npx cap sync -
Ensure all native files are committed
Terminal window git status ios/ android/ -
Check for gitignored native files
- Review .gitignore
- Ensure important config files aren’t ignored
”Build succeeded but I don’t see output”
Symptoms:
- Build shows success but no download link
Solutions:
-
Check build configuration
- Artifact storage may not be configured
- For public beta, contact support about artifact access
-
For iOS TestFlight submission
- Check App Store Connect
- Processing may take 5-30 minutes after upload
-
For Android Play Store
- Check Play Console → Testing → Internal testing
- Processing may take a few minutes
CI/CD Specific Issues
GitHub Actions: “Command not found”
Symptoms:
npx @capgo/clifails in CI
Solutions:
-
Ensure Node.js is installed
- uses: actions/setup-node@v4with:node-version: '20' -
Install CLI explicitly
- run: npm install -g @capgo/cli
GitHub Actions: “Secrets not found”
Symptoms:
- Environment variables empty in build
Solutions:
-
Verify secrets are set
- Go to repo Settings → Secrets and variables → Actions
- Add all required secrets
-
Use correct syntax
env:CAPGO_TOKEN: ${{ secrets.CAPGO_TOKEN }} -
Check secret names match
- Names are case-sensitive
- No typos in secret references
Getting More Help
Enable Verbose Logging
# Add debug flag (when available)npx @capgo/cli@latest build com.example.app --verboseCollect Build Information
When contacting support, include:
-
Build command used
Terminal window npx @capgo/cli@latest build com.example.app --platform ios -
Error message (full output)
-
Job ID (from build output)
-
Build logs (copy full terminal output)
-
Environment info
Terminal window node --versionnpm --versionnpx @capgo/cli --version
Contact Support
- Discord: Join our community
- Email: support@capgo.app
- Documentation: Capgo Docs
Known Limitations
Current limitations during public beta:
- Maximum build time: 10 minutes
- Maximum upload size: ~500MB
- iOS builds require 24-hour Mac leases, build on Mac will enqueue to ensure optimal usage
- Build artifact download may not be available
These limitations may be adjusted based on feedback.
Additional Resources
- Getting Started - Initial setup guide
- iOS Builds - iOS-specific configuration
- Android Builds - Android-specific configuration
- CLI Reference - Complete command documentation