コンテンツにジャンプ

トラブルシューティング

Capgo Cloud Buildでネイティブアプリをビルドする際に発生する一般的な問題の解決策。

”Upload failed” or “Connection timeout”

アップロード失敗

接続タイムアウト

  • プロジェクトアップロード中にビルドが失敗します
  • 60秒後にタイムアウトエラーが発生します

解決策:

  1. インターネット接続を確認してください

    ターミナルウィンドウ
    # Test connection to Capgo
    curl -I https://api.capgo.app
  2. プロジェクトサイズを削減してください

    • アップロードされていないことを確認してください (自動除外されるはずです) node_modules/ プロジェクト内の大きなファイルを確認してください:
    • ターミナルウィンドウ
    __CAPGO_KEEP_0__
    find . -type f -size +10M
  3. アップロード URL の有効期限を確認する

    • 1時間以内にアップロードURLを使用してください。
    • URLが有効期限切れの場合、ビルドコマンドを再実行してください。

10分間でビルドタイムアウト

10分間経過してもビルドが完了しない場合

症状:

  • ビルド時間が最大許可時間を超えました。
  • 状態を表示します timeout

ソリューション:

  1. 依存関係を最適化

    • 不要なnpmパッケージを削除
    • 使用 npm prune --production ビルド前に
  2. ビルド中にネットワーク問題を確認

    • ビルド中に大きなファイルをダウンロードする可能性のある依存関係がある場合
    • ロックファイルを使用した前キャッシュを検討
  3. ネイティブ依存関係を確認

    ターミナルウィンドウ
    # iOS - check Podfile for heavy dependencies
    cat ios/App/Podfile
    # Android - check build.gradle
    cat android/app/build.gradle
  4. サポートに連絡してください

    • __CAPGO_KEEP_0__が必要な場合、正当な理由がある場合
    • 特定の用途の場合に限り、__CAPGO_KEEP_0__の制限を調整できます

”API key invalid” or “Unauthorized”

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

「 」または「Unauthorized」のセクション

  • 症状:
  • 認証エラーでビルドが即座に失敗します

401または403エラー

  1. Verify API key is correct

    ターミナル画面
    # Test with a simple command
    bunx @capgo/cli@latest app list
  2. API キーの権限を確認してください

    • __CAPGO_KEEP_0__ キーには write または all __CAPGO_KEEP_0__ キーの権限を確認してください
    • Capgo ダッシュボードのAPI キーを確認してください
  3. API キーが正しく読み取られていることを確認してください

    ターミナル画面
    # 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. 再認証

    ターミナル画面
    bunx @capgo/cli@latest login

アプリが見つかりません、またはアプリへのアクセス権限がありません。

アプリが見つかりませんまたはアプリへのアクセス権限がありません

症状:

  • Authentication works but app-specific error

ソリューション:

  1. アプリが登録されていることを確認する

    ターミナル画面
    bunx @capgo/cli@latest app list
  2. アプリ ID が一致することを確認してください。

    • 確認 capacitor.config.json appId
    • 正しいアプリIDを使用するコマンドを確認する
  3. 組織へのアクセスを確認する

    • 正しい組織にいることを確認する
    • API キーはアプリの組織にアクセスできる必要があります

「Code 署名が失敗しました」

「Code 署名が失敗しました」のセクション

症状:

  • ビルドがcode 署名フェーズで失敗する
  • 証明書またはプロファイルに関するXcodeエラー

解決策:

  1. __CAPGO_KEEP_0__

    • 開発用ビルドには開発用証明書が必要です
    • App Store ビルドには配布用証明書が必要です
  2. __CAPGO_KEEP_0__

    ターミナル画面
    # 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. プロビジョニング プロファイルが有効かどうかを確認する

    • 有効期限を確認する
    • App ID が含まれていることを確認する
    • 証明書が含まれていることを確認する
  4. クレデンシャルを再生成する

    • 古い証明書/プロファイルを削除する
    • Apple Developer ポータルで新しいものを作成する
    • 環境変数を再エンコードして更新する

”Provisioning profile doesn’t include signing certificate”

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

症状:

  • プロファイル内で証明書が見つからない

解決策:

  1. Apple Developer ポータルから最新のプロファイルをダウンロードする

    • Apple Developer → 証明書、ID、プロファイルに移動する
    • プロビジョニング プロファイルをダウンロードする
    • プロファイルに自分の証明書が含まれていることを確認する
  2. プロファイルに証明書が含まれていることを確認する

    ターミナルウィンドウ
    # Extract profile
    echo $BUILD_PROVISION_PROFILE_BASE64 | base64 -d > profile.mobileprovision
    # View profile contents
    security cms -D -i profile.mobileprovision
  3. 再作成プロファイルに正しい証明書を使用

    • Apple Developer ポータルでプロファイルを編集
    • 配布用証明書が選択されていることを確認
    • ダウンロードして再エンコード

症状:

  • テストフライトへのアップロードが失敗
  • API キー エラー

解決策:

  1. API キー資格情報を検証する

    • APPLE_KEY_ID (10文字でなければなりません) を確認する
    • APPLE_ISSUER_ID (UUID形式でなければなりません) を確認する
    • APPLE_KEY_CONTENT が正しく base64 でエンコードされていることを確認する
  2. コンピュータの時計を同期する

    • App Store Connect 認証では、ローカルシステムの時刻から生成された短期間の JWT を使用します
    • Apple は、20 分以内に有効期限切れになるトークンを拒否します。したがって、時計のズレが小さくても、有効なキーでもある場合でも、認証が失敗する可能性があります。
    • Windows の場合、 設定 > 時刻と言語 > 日付と時刻 をクリックして 今すぐ同期する
    • macOS の場合、 システム設定 > 一般 > 日付と時刻 自動時刻を有効にしてください
    • Linuxでは、 timedatectl status 必要に応じてNTPを有効にしてください
    • Capgoのビルドまたは資格情報コマンドを再実行してください

    Appleの APIの要求用トークンを生成する App Store Connectのトークン有効期間ルールのドキュメントを参照してください。

  3. APIキーのローカルテスト

    ターミナルウィンドウ
    # Decode key
    echo $APPLE_KEY_CONTENT | base64 -d > AuthKey.p8
    # Test with fastlane (if installed)
    fastlane pilot list
  4. APIキーの権限を確認

    • Key needs “Developer” __CAPGO_KEEP_0__ role or higher
    • App Store Connect から確認する -> ユーザーとアクセス -> キー
  5. 鍵は取り消されていないことを確認する

    • App Store Connectで確認する
    • キーが必要な場合は新しいキーを生成してください。

症状:

  • CocoaPodsのインストール中にビルドが失敗しました。
  • Podfile エラー

ソリューション:

  1. Podfile.lockがコミットされていることを確認してください。

    ターミナルウィンドウ
    git status ios/App/Podfile.lock
  2. ローカルでPodインストールをテストする

    ターミナルウィンドウ
    cd ios/App
    pod install
  3. 不互換なPodをチェックする

    • Podfileのバージョンコンフリクトを確認する
    • すべてのPodがiOSのデプロイメントターゲットをサポートしていることを確認する
  4. Podキャッシュをクリアする

    ターミナルウィンドウ
    cd ios/App
    rm -rf Pods
    rm Podfile.lock
    pod install
    # Then commit new Podfile.lock

Androidビルド問題

Android ビルド問題

症状:

  • 署名中にビルドが失敗する
  • キーストアに関するGradleエラー

解決策:

  1. キーストアパスワードを確認する

    Terminal window
    # Test keystore locally
    keytool -list -keystore my-release-key.keystore
    # Enter password when prompted
  2. Check environment variables

    Terminal window
    # Ensure no extra spaces or special characters
    echo "$KEYSTORE_STORE_PASSWORD" | cat -A
    echo "$KEYSTORE_KEY_PASSWORD" | cat -A
  3. base64 エンコードの検証

    ターミナル画面
    # Decode and test
    echo $ANDROID_KEYSTORE_FILE | base64 -d > test.keystore
    keytool -list -keystore test.keystore

”Key alias not found”

Key alias not found

Symptoms:

  • Signing fails with alias error

Key alias not found

  1. List keystore aliases

    Terminal window
    keytool -list -keystore my-release-key.keystore
  2. Aliasが正確に一致することを確認

    • Aliasは大文字小文字区別
    • KEYSTORE_KEY_ALIASに誤字がないか確認
  3. keystoreから正しいaliasを使用

    ターミナル画面
    # Update environment variable to match
    export KEYSTORE_KEY_ALIAS="the-exact-alias-name"

症状:

  • 一般的なGradleエラー
  • コンパイルまたは依存関係の問題

解決策:

  1. ローカルでビルドをテストする

    ターミナル画面
    cd android
    ./gradlew clean
    ./gradlew assembleRelease
  2. 依存関係が不足しているかどうか確認する

    • build.gradleファイルを確認する
    • すべてのプラグインが依存関係にリストされていることを確認する
  3. Gradleのバージョン互換性を確認する

    ターミナル画面
    # Check gradle version
    cat android/gradle/wrapper/gradle-wrapper.properties
  4. Gradleのキャッシュをクリアする

    ターミナル画面
    cd android
    ./gradlew clean
    rm -rf .gradle build

”アプストアのアップロード失敗”

セクション「アプストアのアップロード失敗」

症状:

  • ビルドは成功しますが、アップロードは失敗します
  • サービス アカウントのエラー

解決策:

  1. サービス アカウントの JSON を確認する

    ターミナル ウィンドウ
    # Decode and check format
    echo $PLAY_CONFIG_JSON | base64 -d | jq .
  2. サービス アカウントの権限を確認する

    • Play Console → 設定 → API アクセスに移動する
    • アプリにアクセスできるようにサービス アカウントを設定する
    • リリーステストトラックへの許可を付与する
  3. Play Consoleでアプリが設定されていることを確認する

    • Play Consoleでアプリが作成されていることを確認する
    • 最初に少なくとも1つのAPKを手動でアップロードする必要がある
  4. APIが有効になっていることを確認する

    • Google Play Developer APIが有効になっていることを確認する
    • Google Cloud Consoleで確認する

「ジョブが見つかりません」または「ビルドステータスが利用できません」

症状:

protectedTokens

  • ビルド状態を確認できません
  • ジョブ ID のエラー

解決策:

  1. しばらく待ってから再試行してください

    • ビルドジョブは数秒間で初期化されることがあります
  2. ジョブ ID が正しいことを確認してください

    • 初期ビルドのレスポンスからジョブ ID を確認してください
  3. ビルドが期限切れではないことを確認してください

    • ビルドデータは 24 時間利用可能です

Symptoms:

  • コンパイルが開始される前にビルドが失敗する
  • ファイルが見つからないエラー

解決策:

  1. ローカルで Capacitor を同步実行する

    ターミナルウィンドウ
    bunx cap sync
  2. すべてのネイティブファイルがコミットされていることを確認する

    ターミナルウィンドウ
    git status ios/ android/
  3. gitignored されているネイティブファイルを確認する

    • .gitignore を確認する
    • 重要な設定ファイルが無視されていないことを確認する

”Build succeeded but I don’t see output”

Section titled “”Build succeeded but I don’t see output””

Symptoms:

  • Build shows success but no download link

Solutions:

  1. Check build configuration

    • Artifact storage may not be configured
    • Contact support if artifact access is unavailable for your build
  2. For iOS TestFlight submission

    • Check App Store Connect
    • Processing may take 5-30 minutes after upload
  3. For Android Play Store

    • Play Console → テスト → 内部テストを確認
    • 処理には数分かかる場合があります

CI/CD固有の問題

CI/CD固有の問題

GitHub アクション: 「コマンドが見つかりません」

GitHub アクション: 「コマンドが見つかりません」

症状:

  • bunx @capgo/cli@latest … CIで「コマンドが見つかりません」というエラーが発生します

解決策:

  1. Bun を設定してください したがって bunx 利用可能です:

    - uses: oven-sh/setup-bun@v2
  2. 次に、CLI を実行してください。bunx __CAPGO_KEEP_0__ はオンデマンドで取得され、グローバルインストールは必要ありません:

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

GitHub アクション: “シークレットが見つかりません”

「GitHub アクション: “シークレットが見つかりません”」というセクション

症状:

  • ビルド中の環境変数が空です

解決策:

  1. シークレットが設定されていることを確認してください

    • リポジトリの設定 → シークレットと変数 → アクションに移動してください
    • 必要なすべてのシークレットを追加してください
  2. 正しい構文を使用する

    env:
    CAPGO_TOKEN: ${{ secrets.CAPGO_TOKEN }}
  3. シークレット名が一致するか確認する

    • 名前は大文字小文字区別
    • シークレット参照に誤字がない
ターミナル画面
# Add debug flag (when available)
bunx @capgo/cli@latest build request com.example.app --verbose

ビルド情報を収集する

ビルド情報を収集する

サポートに連絡する際には、以下を含めてください。

  1. 使用したビルドコマンド

    ターミナル画面
    bunx @capgo/cli@latest build request com.example.app --platform ios
  2. エラーメッセージ (フル出力)

  3. ジョブID (ビルド出力から)

  4. ビルドログ (フルターミナル出力をコピー)

  5. 環境情報

    ターミナルウィンドウ
    node --version
    npm --version
    bunx @capgo/cli@latest --version

現在の制限事項:

  • 最大ビルド時間:10分
  • 最大アップロードサイズ:約500MB
  • iOSビルドには24時間のMacのレンタルが必要です。Macでビルドすると、最適な使用を確保するためにキューに追加されます。
  • ビルドアーティファクトのダウンロードの可用性は、ビルドの目的地とアーティファクトのストレージの構成に依存します。

これらの制限は、フィードバックに基づいて調整される可能性があります。