0
0

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 1 year has passed since last update.

FirebaseCrashlyticsの導入、クラッシュレポートが作成されない

Posted at

事象

クラッシュを起こしてもクラッシュログが作成されず、FirebaseコンソールのCrashlyticsトップ画面から切り替わらない。
image.png

クラッシュトリガーはドキュメントのものを利用

HogeSwiftUIView.swift
Button("Crash") {
  fatalError("Crash was triggered")
}

結論

SPMでFirebaseを追加した時、Targetを選択していなかったため、Crashlyticsがプロジェクトに組み込めていなかった。image.png

TargetのGeneralのFrameworksにFirebaseCrashlyticsを追加することでクラッシュレポートが上がるようになった。

導入したときの手順

Firebase Crashlytics を使ってみる
https://firebase.google.com/docs/crashlytics/get-started?authuser=0&_gl=1*1jxmrmj*_ga*NTAxODA3ODUuMTY5Mzc4ODk1OA..*_ga_CW55HF8NVT*MTY5NjU1NTI5NC4xNy4xLjE2OTY1NjAwOTguNDkuMC4w&hl=ja&platform=ios

  1. SPMでhttps://github.com/firebase/firebase-ios-sdkを追加
  2. インポートimport Firebase
  3. FirebaseAppインスタンスを構成FirebaseApp.configure()
  4. dSYM ファイルを自動的にアップロードするように Xcode を設定
  5. 強制的にテスト クラッシュ(シミュレータをXcodeデバッガから切断してからクラッシュ→そのまま再実行・Xcodeから再実行)
  6. デバッグロギングを有効化
  7. 5.を再度実行

上記を実行しても駄目で、この状態だった。
image.png

原因

Xcodeのコンソールログを確認してもCompleted report submissionのログが無かったため、そもそもCrashlyticsの導入に失敗していそうであったので、プロジェクトのFrameworksを確認するとCrashlyticsが無かったので追加したところ、ログが出るようになった。
image.png

Firebaseのコンソール画面もくるくるしだした。
image.png

おまけ

カスタムキーがFirebaseコンソール画面のクラッシュイベントに反映されない

「FirebaseCrashlyticsのクラッシュレポートのカスタマイズ」に沿ってカスタムキーを設定したが、FirebaseCrashlyticsのコンソール画面に反映されなかった。

// Set int_key to 100.
Crashlytics.crashlytics().setCustomValue(100, forKey: "int_key")

// Set str_key to "hello".
Crashlytics.crashlytics().setCustomValue("hello", forKey: "str_key")

原因

FirebaseApp.configure()より前にsetCustomValueしていたことが原因だった。

0
0
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
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?