7
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Firebase Crashlyticsを手動インストールして試してみた

Last updated at Posted at 2020-04-16

Firebase Crashlyticsをセットアップする手順まとめです。
Fabric Crashlyticsのセットアップ手順は多く公開されていますが、Firebase Crashlyticsの方はあまり多くないのでログ残しときます。

手動インストールの手順

いろんな事情でCocoaPodsを使えない環境の場合、この手順でセットアップできます。
Firebase未導入の場合は、公式のドキュメントにしたがって環境を整えてから始めましょう。

Firebase Crashlyticsをプロジェクトに追加する

はじめに公式サイトから最新のSDKをダウンロードして解凍します。
解凍後、FirebaseCrashlytics内の3ファイルを使います。

  • FirebaseCrashlytics.xcframework
  • upload-symbols
  • run

FirebaseCrashlytics.xcframeworkはフレームワーク本体で、プロジェクトに組み込めばOKです。
upload-symbolsrunは、デバッグシンボルをFirebaseにアップロードするスクリプトです。このスクリプトを実行できないと、Firebase上でクラッシュ情報を解析できない恐れがあります。

FirebaseCrashlytics.xcframeworkへの参照を追加

FirebaseCrashlytics.xcframeworkを、XcodeのProject Navigatorにドラッグし参照を追加します。

スクリーンショット 2020-04-16 11.31.27.png

"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にアップロードすると改善される場合があります。

7
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
7
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?