Skip to content

iOS生産時クラッシュログの理解

クラウドログの理解

「クラウドログの理解」

If you get a cloud refusal code and need concrete remediation steps, see 一般的な更新問題.

Capgo ログにはイベントに関連するメタデータが含まれています。ダッシュボードでアクションフィルタを使用して、下記のスネークケースのアクション code をフィルタリングし、メタデータセルをクリックしてフルJSONペイロードをコピーしてください。メタデータは、エラー メッセージ、ソースURL、行、列、プロセス状態、メモリ圧力、プラットフォーム固有の理由など、クラッシュやWebViewイベントのコンテキストを含むことがあります。古いログは、括弧内にリストされているレガシーキャメルケースのエイリアスを表示することがあります。

バックエンドから送信

「バックエンドから送信」
code説明
無効なIP (無効なIP)ユーザーはGoogleデータセンターにあり、更新は4時間未満です。このことは、Googleボットのデバイスがあなたのアカウントのデバイスとしてカウントされないようにするために行われます。
プランアップグレードが必要 (needPlanUpgrade, previously プランアップグレードが必要)デバイスがプランの制限に達し、デバイスがアップデートを受け取るまでにアップグレードするか、次の月まで待つ必要があります。
新しいバージョンが利用できない (noNew)最新のバージョンが利用可能です。
semver_errorネイティブバージョンは、期待どおりのシーケンスバージョン形式を採用していません。
iOSプラットフォームが無効化されています (disablePlatformIos)このデバイスはiOSプラットフォームですが、チャネル設定で無効化されています。
Androidプラットフォームが無効化されています (disablePlatformAndroid)このデバイスはAndroidプラットフォームですが、チャネル設定で無効化されています。
自動更新は互換性ポリシーにより無効化されています。メタデータには (マッチングルールとして)、または auto_update 自動更新はNativeモード下で無効化されています major, minor, patch, metadatadisableAutoUpdate none.
disable_auto_update_under_native (__CAPGO_KEEP_0__)このデバイスのバージョンは (1.2.3) です。チャンネルは、デバイスのバージョンより新しいバージョン (1.2.2) を送信するように設定されていますが、その機能はチャンネル設定で無効にされています。
__CAPGO_KEEP_0__ (__CAPGO_KEEP_0__)このデバイスは開発用ビルドを搭載していますが、その機能はチャンネル設定で無効にされています。
__CAPGO_KEEP_0__ (__CAPGO_KEEP_0__)このデバイスはエミュレータですが、その機能はチャンネル設定で無効にされています。
__CAPGO_KEEP_0__ (__CAPGO_KEEP_0__)バンドルダウンロードの有効署名URLを生成できませんでした。この問題は、バンドルURLの生成が失敗したり、無効なURLを返したりした場合、またはフォールバックとしてマニフェストが利用できない場合に発生します。
プライベートチャンネルを介して更新できません。 (プライベートチャンネルを介して更新できません。)デバイスはプライベートチャンネルと自己関連付けを試みましたが、チャンネル設定ではデバイスの自己関連付けを許可していません (allow_device_self_set チャンネルが不正に設定されています。
チャンネルが不正に設定されています。 (バージョン番号 ()) で自動更新を無効に設定されているチャンネルですが、バンドルの disable_auto_update: 'version_number'フィールドが null であるため、更新を受けるべきデバイスを決定できません。 min_update_version バージョン番号に基づいて自動更新を無効に設定されているマニフェストが見つかりません。
バージョン番号に基づいて自動更新を無効に設定されているマニフェストが見つかりません。 (バンドルの フィールドが null であるため、バージョン番号に基づいて自動更新を無効に設定されているマニフェストが見つかりません。)バージョン番号メタデータにより、自動更新が無効化されています。チャンネルは、デバイスのバージョンが少なくとも min_update_versionですが、デバイスの現在のバージョンはこの閾値以下です。
メジャーバージョン番号の増加を防ぐため、自動更新を無効化します。 (disableAutoUpdateToMajor)チャンネル設定 disable_auto_update: 'major' メジャーバージョン番号の増加を防ぐため、更新をブロックします。 1.x.x から更新をブロックします。 2.x.x.
メジャーバージョン番号の増加を防ぐため、自動更新を無効化します。 (disableAutoUpdateToMinor)チャンネル設定 disable_auto_update: 'minor' メインバージョン番号の増加を防ぐため、更新をブロックします。 1.2.x から更新をブロックします。 1.3.x.
disable_auto_update_to_patch (disableAutoUpdateToPatch)チャネル設定 disable_auto_update: 'patch' この設定では、パッチバージョン番号を増やす更新をブロックするか、同じメジャー.マイナーバージョンのパッチレベル更新のみを許可します。
missing_bundle (missingBundle)割り当てられたチャネルにダウンロード可能なコンテンツがないため、このチャネルは使用できません。このチャネルは external_urlチャネルが存在しない場合 r2_pathこのアプリとデバイスには、デフォルトのチャネルが設定されていません。チャネルをオーバーライドする設定もありません。少なくとも1つは存在する必要があります。アップデートが機能するためには。
no_channel (NoChannelOrOverride)このアプリとデバイスには、デフォルトのチャネルが設定されていません。チャネルをオーバーライドする設定もありません。少なくとも1つは存在する必要があります。アップデートが機能するためには。
__CAPGO_KEEP_0__ (__CAPGO_KEEP_0__)__CAPGO_KEEP_0__
key_id_mismatch (keyMismatch)__CAPGO_KEEP_1__ device_key_id, bundle_key_id__CAPGO_KEEP_1__ version __CAPGO_KEEP_2__

__CAPGO_KEEP_2__

__CAPGO_KEEP_3__
code__CAPGO_KEEP_0__
ping内部テストアクションを使用して、統計システムが正しく動作していることを確認します。
get新バージョンのダウンロード情報がデバイスに送信されました。
deleteデバイス上の1つのバンドルが削除されました。
setデバイス上のバンドルが設定されました。
set_failバンドルを設定できませんでした。
resetデバイスはデフォルトにリセットされました。 builtin バンドル。
__CAPGO_KEEP_0__新しいバンドルがダウンロードされました - XX% (10%の増加) で進捗が示されます。
__CAPGO_KEEP_0__新しいバンドルがダウンロード完了しました。
__CAPGO_KEEP_0__デバイスがアップデートマニフェストのダウンロードを開始しました。
__CAPGO_KEEP_0__デバイスがアップデートマニフェストのダウンロードを完了しました。
__CAPGO_KEEP_0__デバイスがバンドルアーカイブのダウンロードを開始しました。
__CAPGO_KEEP_0__デバイスはバンドルアーカイブをダウンロードしました。
__CAPGO_KEEP_0__1 つのマニフェストエントリがダウンロードに失敗しました; stats ペイロードは version_name __CAPGO_KEEP_1__ version:fileName でアセットを特定するために使用されます。
__CAPGO_KEEP_2__マニフェストファイルのチェックサム検証に失敗しました。
__CAPGO_KEEP_3__マニフェストファイルが Brotli で展開できませんでした。
__CAPGO_KEEP_4__新しいバンドルがダウンロードに失敗しました。
__CAPGO_KEEP_5__新しいバンドルがインストールされましたが、呼び出しに失敗しました notifyAppReady.
checksum_fail新しいバンドルがチェックサムを検証できませんでした。このことが何らかの理由で起こることがあります: 1) チェックサムのタイプが一致しない: 最新バージョンのCLIとプラグイン (バージョン 5.10.0+、6.25.0+、または 7+) は SHA256 チェックサムを使用していますが、古いプラグインは CRC32 を使用していました。チェックサムが失敗した場合、チェックサムが CRC32 (短いハッシュ) であるか SHA256 であるかを確認してください。これは通常、バンドルが古いバージョンのCLIでアップロードされたことを示しています。Capgo ダッシュボードでバンドルのバージョンを確認してください - バンドルがバージョン 5.10.0/6.25.0/7 以降で作成された場合、SHA256 を使用します。CRC32 チェックサムを表示している場合、ローカルに最新のプラグインバージョン (CLIはローカルプラグインバージョンを確認してチェックサムのタイプを決定します) をインストールし、CLIをアップグレードし、バンドルを再アップロードしてください。 2) エンコードキーの不一致 (プラグインバージョン 8.3.0 未満または 5/6/7.38.0 未満の場合): 古いプラグインバージョンを使用している場合、デバイスの公開鍵がアップロードしたバンドルの暗号化に使用した鍵と一致しない場合、暗号化が失敗し、チェックサムのエラーが発生します。暗号化を使用している場合、 checksum_failを確認してください。アップロードしたバンドルのプライベートキーとアプリの capacitor.config.json が一致していることを確認してください。プラグインバージョン 8.3.0+ (または 5/6/7.38.0+) にアップグレードすると、サーバーから正しい keyMismatch エラーが返され、診断が容易になります。
windows_path_failzipファイルに、Windowsパスを含むファイルが含まれており、不正です
canonical_path_failファイルのパスがcanonicalではありません
directory_path_failzipファイルのパスにエラーがあります
unzip_failアンパッキングに失敗しました
low_mem_failデバイスのメモリが不足しているためダウンロードに失敗しました
app_moved_to_backgroundアプリケーションがバックグラウンドに移動しました
app_moved_to_foregroundアプリケーションがフォアグラウンドに移動しました
app_crashJavaScriptまたはCapacitorレイヤーから報告されたアプリのクラッシュが検出されました。メタデータにはメッセージ、スタック、ソース、有効なバンドルコンテキストが含まれます。
app_crash_nativeプラットフォームのクラッシュがネイティブレイヤーから報告されました。メタデータにはプラットフォーム、理由、スタック、プロセス詳細が含まれます。
app_anrAndroidはアプリケーションが応答しないことを報告しました。メタデータにはANRの理由、スレッド、またはトレースサマリーが含まれます。
app_killed_low_memoryアプリプロセスは低メモリ圧力の後に殺されました。メタデータには利用可能なメモリとプラットフォームシグナルが含まれます。
app_killed_excessive_resource_usageOSはアプリを過度のリソース使用のために殺しました。メタデータにはリソースタイプまたはプラットフォームの理由が含まれます。
app_initialization_failureアップデーターまたはアプリ起動フローは正常な実行時間が得られる前に失敗しました。メタデータには失敗したステップとエラーメッセージが含まれます。
app_memory_warningiOSはメモリ警告を報告しました。メタデータには、利用可能な場合のアクティブなバンドルとメモリコンテキストが含まれます。
webview_javascript_errorWebViewは未処理のJavaScriptエラーを報告しました。メタデータには、メッセージ、ソースURL、行、列、スタックが含まれます。
webview_unhandled_rejectionWebViewは未処理のプロミス拒否を報告しました。メタデータには、拒否理由、ソースURL、スタックが含まれます。
webview_resource_errorWebViewリソースのロードに失敗しました。メタデータには、URL、ステータスcode、リソースタイプ、エラーメッセージが含まれます。
webview_security_policy_violationWebViewはコンテンツセキュリティポリシー違反を報告しました。メタデータには、ブロックされたURI、ディレクティブ、ドキュメントURLが含まれます。
webview_unclean_restartアプリは前のWebViewセッションが正常に終了しなかったことを検出しました。これは、更新後にクラッシュループを特定するのに役立ちます。
__CAPGO_KEEP_0__Androidはウェブビューのレンダラー プロセスが終了したと報告しました。レンダラーがクラッシュしたかどうか、レンダラーの優先順位など、メタデータが含まれています。
__CAPGO_KEEP_0__iOSはウェブビューのコンテンツ プロセスが終了したと報告しました。アクティブなバンドルとページ URL が利用可能な場合に含まれるメタデータは、バンドルとページ URL です。
ダウンロードしたバンドルの暗号化に失敗しました。__CAPGO_KEEP_1__
__CAPGO_KEEP_1__ (デバイスの現在のチャネルが照会されました。)__CAPGO_KEEP_1__
デバイスにチャネルが正常に設定されました。 (__CAPGO_KEEP_1__)__CAPGO_KEEP_1__
アンインストールアプリケーションがアンインストールされまたはCapgoデータがクリアされました。
blocked_by_server_urlServer.urlがあなたのcapacitor設定に含まれています。これによりCapacitorはリモートURLを使用し、ローカルファイルを無視します。ただし、更新プログラムはローカルファイルを使用するように設計されています。Server.urlは、Capacitorメーカーによって生産環境で不適切な実践と見なされ、多くの問題やプラグインの正しくない動作につながります。
  • SUCCESS: bundleのインストール完了
  • ERROR: インストールまたはダウンロードに失敗
  • PENDING: ダウンロード完了、リリース待ち
  • DELETED: bundleが削除されましたが、統計用に表示されます
  • DOWNLOADING: bundleのダウンロード中

Capgo クラウドユーザー向けのデバッグコマンドがあります。

ターミナルウィンドウ
npx @capgo/cli@latest app debug

この機能を使用すると、アプリ内で発生しているすべてのイベントを確認し、更新が行われていない場合の解決策を見つけることができます。

Xcodeでログを検索するにはこちらを参照してください

Android:

Android:

Android Studioでログを探す

ログの説明

ログの説明
  • Failed to download from => 同じ ダウンロード失敗
  • notifyAppReady was not called, roll back current bundle ダウンロード失敗 更新失敗

デバイスにダウンロードしたバンドルを探す

デバイスにダウンロードしたバンドルを探す

iOS

iOS

iOS用のデバッグのために、コンピューターにアプリをダンプする必要があります。方法は次のとおりです。

iOSデバイスのファイルシステムを開発者がインストールしたアプリを検査するためのXcodeの組み込み機能があります。 XcodeのWindowメニューのDevices and Simulatorsオプションを表示

このように実現します。

  • Macにデバイスを接続し、XcodeのメニューバーのWindow > Devicesを選択します。
  • 左側のペインのDevicesセクションの下でデバイスを選択します。
  • このデバイスの開発者がインストールしたアプリのリストが表示されます。
  • リストからアプリを選択し、画面の下部の3つのドットのアイコンを選択します。
  • ここで、ファイルシステムの現在の状態を表示するためにダウンロードしたスナップショットを選択できます。

XcodeのDevicesパネルにアプリコンテナダウンロードオプションが表示される

Download Container…を選択すると、.xcappdataファイルとしてファイルシステムのスナップショットをダウンロードしてエクスポートし、ファイルを閲覧できます。

ダウンロードした xcappdata ファイルに Show Package Contents コンテキスト メニューを右クリックして選択

このファイルに右クリックして Show Package Contents を選択してフォルダを開きます。

App Data フォルダを開き、Documents、Library、tmp などのいくつかのフォルダが見つかるはずです。

iOS アプリ コンテナ フォルダ構造が Documents と Library フォルダを示しています。

次に、2 つのフォルダ内にバージョンが見つかります:

library/NoCloud/ionic_built_snapshots アプリ再起動後は必要

ホット リロードの場合 documents/versions Android

iOS

  • Android
  • デバイスをドロップダウンリストから選択してください。
  • パスを開いてください data/data/__CAPGO_KEEP_0__/__CAPGO_KEEP_0__はあなたのアプリIDです。

Android Studio Device File Explorerがアプリデータディレクトリを表示している

次に、 versions フォルダを見つけてみてください

Androidの場合、すべてのバージョンは1つのフォルダに保存されます。ただし、IOSの場合、2つの場所に複製する必要があります。

「iOSのプロダクションクラッシュログの理解」セクションのタイトル