Firebase Crashlytics SDK を使用して難読化解除されたクラッシュ レポートを取得する

デフォルトでは、Firebase Crashlytics はデバッグ シンボル(.dSYM)ファイルを自動的に処理して、難読化解除された(人が読める形式の)クラッシュ レポートを生成します。この動作は、Crashlytics を初期化する実行スクリプトをアプリのビルドフェーズに追加するときに設定されます。

わずかながらも、dSYM のアップロードが失敗する状況がいくつかあります。通常、その原因はアプリ内のビットコードや固有のプロジェクト構成です。このガイドでは、Crashlytics がアプリの dSYM を見つけられない場合のトラブルシューティング方法をいくつか説明します。

Xcode が dSYM を生成しているかどうかを確認する

多くの場合、dSYM ファイルが欠落する理由は Xcode がファイルを生成していないことにあります。アップロードが失敗すると、Crashlytics は Firebase コンソールに「不足している dSYM」というアラートを表示します。このアラートが表示された場合は、まず、Xcode がすべてのビルドに対して正しい dSYM を生成していることを確認します。

  1. Xcode でプロジェクトを開き、ナビゲータでプロジェクト ファイルを選択します。

  2. メインのビルド ターゲットを選択します。

  3. ターゲットの [Build Settings] タブを開き、[All] をクリックします。

  4. 「debug information format」を検索します。

  5. すべてのビルドタイプについて、[Debug Information Format] を [DWARF with dSYM File] に設定します。

  6. アプリを再ビルドします。

これで、Firebase コンソールにクラッシュ レポートが表示されます。問題が解決しない場合や他のエラーが発生した場合は、dSYM を見つけて手動で Crashlytics にアップロードしてください。

dSYM を見つける

ビットコードの構成やコンソールの接続が原因で、Crashlytics がアプリの dSYM を見つけられない場合があります。この場合のトラブルシューティング方法には、次の 2 つがあります。

dSYM をアップロードする

Crashlytics には、バックアップとして upload-symbols スクリプトも組み込まれています。このスクリプトをビルドプロセスの任意の時点で呼び出すことで、dSYM を手動でアップロードできます。このスクリプトはアップロード プロセスに関するより詳細な情報と、より確実なエラー メッセージを表示します(使用方法に関する注意事項と詳細な説明を確認するには、パラメータを指定せずに upload-symbols を実行します)。

upload-symbols スクリプトを実行するには、次のいずれかのオプションを使用します。

  • ビルドプロセスに次の行を含めます。

    find dSYM_directory -name "*.dSYM" | xargs -I \{\} $PODS_ROOT/FirebaseCrashlytics/upload-symbols -gsp /path/to/GoogleService-Info.plist -p platform \{\}
  • ターミナルからスクリプトを直接実行します。

    /path/to/pods/directory/FirebaseCrashlytics/upload-symbols -gsp /path/to/GoogleService-Info.plist -p ios /path/to/dSYMs