コンテンツへスキップ

トラブルシューティング

Capgoを使用する際によくある問題とその解決方法をご紹介します。

アップロードの失敗

バンドルのアップロードが失敗する場合、以下を確認してください:

  • capacitor.config.tsのアプリIDがCapgoダッシュボードのアプリと一致していること
  • Capacitorプロジェクトのルートからアップロードコマンドを実行していること
  • Webアセットがビルドされ、最新の状態であること

高度なアップロードオプション

Capgo CLIには、一般的なアップロードの問題に対応するための追加フラグがあります:

  • --tus: 大きなバンドルや不安定なネットワーク接続での、より信頼性の高いアップロードのためのtus再開可能アップロードプロトコルを使用します。バンドルが10MB以上の場合や、接続が不安定な場合は--tusの使用を検討してください:

    Terminal window
    npx @capgo/cli@latest upload --tus
  • --package-json--node-modules: モノレポやnpmワークスペースなどの非標準構造のアプリの場合、ルートのpackage.jsonnode_modulesの場所をCapgoに指定します。ルートのpackage.jsonへのパスと--node_modulesパスを指定してください:

    Terminal window
    npx @capgo/cli@latest upload --package-json=path/to/package.json --node_modules=path/to/node_modules

    Capgoはアプリの依存関係を正しくバンドルするためにこの情報を必要とします。

これらのフラグは--channelなどの他のオプションと組み合わせることができます。利用可能なアップロードオプションの詳細については、Capgo CLIドキュメントを参照してください。

アップロードの問題が解決しない場合は、Capgoサポートにお問い合わせください。

アップデートのデバッグ

ライブアップデートに問題がある場合、Capgoのデバッグコマンドがトラブルシューティングに役立ちます。使用方法:

  1. プロジェクトディレクトリで以下のコマンドを実行:

    Terminal window
    npx @capgo/cli@latest app debug
  2. デバイスまたはエミュレータでアプリを起動し、アップデートをトリガーするアクション(新しいバンドルをアップロードした後にアプリを再起動するなど)を実行します。

  3. デバッグコマンドの出力を監視します。以下の情報が記録されます:

    • アプリがアップデートをチェックするタイミング
    • アップデートが見つかった場合とそのバージョン
    • アップデートのダウンロードとインストールの進行状況
    • アップデート中に発生したエラー
  4. デバッグログを使用して問題の発生箇所を特定します。例えば:

    • アップデートが見つからない場合、バンドルが正常にアップロードされ、アプリが正しいチャンネルを使用するように設定されているか確認
    • アップデートがダウンロードされても適用されない場合、CapacitorUpdater.notifyAppReady()を呼び出し、アプリが完全に閉じられて再起動されたか確認
    • エラーメッセージが表示される場合、Capgoドキュメントでそのエラーを確認するか、サポートに問い合わせ

デバッグコマンドは、特にアップデートのダウンロードとインストールプロセスの問題を特定するのに有効です。期待されるアップデートバージョンは見つかったものの、最終的に適用されていない場合は、ダウンロード後の手順をトラブルシューティングの重点としてください。

ネイティブログでのデバッグ

Capgoデバッグコマンドに加えて、AndroidとiOSのネイティブログは、特にアップデートプロセスのネイティブ側の問題に関して、貴重なトラブルシューティング情報を提供できます。

Androidのログ

Androidログにアクセスするには:

  1. デバイスを接続するかエミュレータを起動します
  2. Android Studioを開き、“View > Tool Windows > Logcat”を選択
  3. Logcatウィンドウで、上部のドロップダウンからアプリのプロセスを選択してログをフィルタリング
  4. Capgoを含む行を探してSDKのログを確認

または、adb logcatコマンドを使用し、Capgoでgrepしてログをフィルタリングすることもできます。

Capgo SDKは、アップデートプロセス中の重要なイベントを記録します:

  • アップデートチェックが開始されたとき
  • アップデートが見つかった場合とそのバージョン
  • アップデートのダウンロードの開始と完了
  • アップデートのインストールがトリガーされたとき
  • ネイティブアップデート手順中に発生したエラー

ログで見られる一般的なAndroid特有の問題には以下があります:

  • アップデートのダウンロードを妨げるネットワーク接続の問題
  • アップデートバンドルの保存や読み取り時のファイルパーミッションエラー
  • アップデートバンドル用のストレージ容量不足
  • アップデート適用後のアプリ再起動の失敗

iOSのログ

iOSログにアクセスするには:

  1. デバイスを接続するかシミュレータを起動します
  2. Xcodeを開き、“Window > Devices and Simulators”に移動
  3. デバイスを選択し、“Open Console”をクリック
  4. コンソール出力でCapgoを含む行を探してSDKのログを確認

また、ターミナルでlog streamコマンドを使用し、Capgoでgrepしてログをフィルタリングすることもできます。

Androidと同様に、Capgo SDKはiOS側の重要なイベントを記録します:

  • アップデートチェックの開始と結果
  • ダウンロードの開始、進行状況、完了
  • インストールのトリガーと結果
  • ネイティブアップデートプロセス中のエラー

ログで見られるiOS特有の問題には以下があります:

  • アップデートダウンロード時のSSL証明書の問題
  • アップデートダウンロードをブロックするApp Transport Security
  • アップデートバンドル用の容量不足
  • アップデートバンドルの展開や適用の失敗

両プラットフォームにおいて、ネイティブログはアップデートプロセスのより低レベルの視点を提供し、ネイティブ実装の詳細を示します。これらは特にCapgo JavaScriptレイヤーの外で発生する問題の特定に有用です。

複雑なライブアップデートの問題をトラブルシューティングする際は、Capgoデバッグログとネイティブログの両方を取得して包括的な状況把握をすることをお勧めします。2つのログを合わせることで、問題を特定し解決する最善のチャンスが得られます。

アップデートが適用されない場合

バンドルをアップロードしたのに変更がデバイスに反映されない場合:

  • クイックスタートで示されているように、アプリコードでCapacitorUpdater.notifyAppReady()を呼び出していることを確認
  • デバイスがインターネットに接続されており、Capgoデバッグログでアップデートがダウンロードされたことを確認
  • アップデートは新規起動時のみ適用されるため、アプリを完全に閉じて再起動してみてください
  • アップデートの適用に問題がある可能性を示すネイティブログのエラーを確認

アップデートプロセスの詳細については、ライブアップデートのデプロイガイドを参照してください。まだ問題が解決しない場合は、npx @capgo/cli@latest app debugコマンドとネイティブログを使用して、何が起きているかをより詳しく確認してください。

SDKのインストール

Capgo SDKのインストールに問題がある場合、以下を確認してください:

  • アプリがサポートされているバージョンのCapacitor(4.0以上)を使用していること
  • クイックスタートの手順を順番通りに実行し、SDKのインストール後にアプリを同期したこと

CI/CD統合

CI/CDパイプラインからCapgoアップロードをトリガーする際の問題:

  • Capgo認証トークンが正しく設定されているか確認
  • Webアセットのビルド後にアップロードコマンドを実行していることを確認
  • アップロードコマンドが対象環境に対して正しいチャンネル名を使用していることを確認

より詳しいトラブルシューティングのヒントはCI/CD統合ドキュメントを参照してください。また、npx @capgo/cli@latest app debugコマンドを使用して、CI/CDでトリガーされたアップデートがアプリに受信されているか確認することもできます。