Firebase Crashlyticsをセットアップする手順まとめです。
Fabric Crashlyticsのセットアップ手順は多く公開されていますが、Firebase Crashlyticsの方はあまり多くないのでログ残しときます。
手動インストールの手順
いろんな事情でCocoaPodsを使えない環境の場合、この手順でセットアップできます。
Firebase未導入の場合は、公式のドキュメントにしたがって環境を整えてから始めましょう。
Firebase Crashlyticsをプロジェクトに追加する
はじめに公式サイトから最新のSDKをダウンロードして解凍します。
解凍後、FirebaseCrashlytics
内の3ファイルを使います。
FirebaseCrashlytics.xcframework
upload-symbols
run
FirebaseCrashlytics.xcframework
はフレームワーク本体で、プロジェクトに組み込めばOKです。
upload-symbols
とrun
は、デバッグシンボルをFirebaseにアップロードするスクリプトです。このスクリプトを実行できないと、Firebase上でクラッシュ情報を解析できない恐れがあります。
FirebaseCrashlytics.xcframeworkへの参照を追加
FirebaseCrashlytics.xcframeworkを、XcodeのProject Navigatorにドラッグし参照を追加します。
"Copy files if needed"へのチェックを忘れずに。
プロジェクトディレクトリにスクリプトを追加
プロジェクトのディレクトリに scripts
ディレクトリを作成し、この2ファイルを配置します。
- upload-symbols
- run
デバッグシンボルをアップロードするスクリプトを実行できるよう設定する
ビルド成功後、デバッグシンボルをアップロードするよう設定を変更します。
Xcodeで、プロジェクトの Build Phases を開いた後 "New Run Script Phase"から実行するスクリプトを追加します。
スクリプトにはこの1行だけペーストします。
${PROJECT_DIR}/scripts/run
"input files"には、この2行を追加します。
${DWARF_DSYM_FOLDER_PATH}/${DWARF_DSYM_FILE_NAME}/Contents/Resources/DWARF/${TARGET_NAME}
$(SRCROOT)/$(BUILT_PRODUCTS_DIR)/$(INFOPLIST_PATH)
ビルドを実行し、成功していればセットアップ完了です。
試しに落としてみる
どこでも良いので、assert(false)
や fatalError()
を挿入してわざと落としてみましょう。
しばらく待つとFirebaseコンソール上で確認できます。
ハマったこと
dSYMが不足していてクラッシュログが表示されない…
dSYMが不足しているとクラッシュログが表示されない場合があります。
その場合、この手順を参考にしてFirebaseにアップロードすると改善される場合があります。