コンテンツにジャンプ

トラブルシューティング

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

ビルドエラー

ビルドエラー

アップロード失敗または接続タイムアウト

アップロード失敗または接続タイムアウト

症状:

  • アップロード中にプロジェクトが失敗する
  • 60秒以内にタイムアウトエラーが発生する

解決策:

  1. インターネット接続を確認する

    ターミナル画面
    # Test connection to Capgo
    curl -I https://api.capgo.app
  2. プロジェクトサイズを削減する

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

    • アップロード URL は 1 時間で有効期限切れになります
    • 有効期限切れの 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. サポートに連絡

    • アプリが正当にさらに時間が必要な場合
    • 特定の用途のために制限を調整できます

「API キーが無効」または「認証されていません」

「API キーが無効」または「認証されていません」のセクション

症状:

  • 認証エラーによりビルドが即座に失敗します
  • 401または403エラー

解決策:

  1. API キーが正しいことを確認してください

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

    • __CAPGO_KEEP_0__キーには write または all 権限
    • 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

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

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

症状:

  • 認証は正常に動作していますが、アプリ固有のエラーが発生しています

解決策:

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

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

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

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

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

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

症状:

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

解決策:

  1. 証明書のタイプがビルドのタイプと一致することを確認する

    • 開発用ビルドには開発用証明書が必要
    • App Store用ビルドには配布用証明書が必要
  2. 証明書とプロファイルが一致することを確認する

    ターミナル画面
    # 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 ポータルで新しいものを作成する
    • 環境変数を再エンコードして更新する

署名証明書が含まれていないプロビジョニング プロファイル

署名証明書が含まれていないプロビジョニング プロファイル

症状:

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

解決策:

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

App Store Connect の認証が失敗しました

App Store Connect 認証が失敗しましたというセクション

症状:

  • テストフライトへのアップロードが失敗
  • 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キーの権限を確認

    • 開発者ロールまたはそれ以上の権限が必要
    • App Store Connect -> ユーザーとアクセス -> キーで確認
  5. キーが取り消されていないことを確認

    • App Store Connectで確認
    • 必要に応じて新しいキーを生成

症状:

  • ココアポッドのインストール中にビルドが失敗
  • Podfileエラー

解決策:

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

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

    ターミナルウィンドウ
    cd ios/App
    pod install
  3. 不相容なポッドを確認する

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

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

Androidビルドの問題

Android ビルド問題

キーストアパスワードが不正

キーストアパスワードが不正

症状:

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

解決策:

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

    ターミナル画面
    # Test keystore locally
    keytool -list -keystore my-release-key.keystore
    # Enter password when prompted
  2. 環境変数を確認

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

「キー アリーサイズが見つかりません」

「キー アリーサイズが見つかりません」というセクション

症状:

  • アリーサイズエラーで署名が失敗する

解決策:

  1. キーストアのアリーサイズの一覧

    ターミナル画面
    keytool -list -keystore my-release-key.keystore
  2. __CAPGO_KEEP_0__を正確に検証します

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

    ターミナル画面
    # 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時間利用可能です

症状:

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

解決策:

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

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

    ターミナル画面
    git status ios/ android/
  3. gitignoreされたネイティブファイルを確認する

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

ビルド成功ですが、出力が見られません

ビルド成功しても出力が見られない

症状:

  • ビルドは成功していますが、ダウンロードリンクが見られません

解決策:

  1. ビルド設定を確認してください

    • アーティファクトの保存設定が有効になっていません
    • アーティファクトのアクセスが不可な場合は、サポートに連絡してください
  2. iOSのテストフライトの投稿の場合

    • App Store Connectを確認してください
    • アップロード後、5-30分程度の処理時間がかかります
  3. AndroidのPlay Storeの投稿の場合

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

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

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

症状:

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

解決策:

  1. まずBunを設定し その後 bunx 利用可能です:

    - uses: oven-sh/setup-bun@v2
  2. CLIを実行してくださいbunx 必要なものはすべてインストールする必要はありません。

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

GitHub Actions: “Secrets not found”

GitHub Actions: “Secrets not found”」セクション

症状:

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

解決策:

  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

Current limitations:

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

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

追加リソース

追加リソース