wootan's diary

iOSアプリ開発を中心としたエンジニアブログ

Firebase Crash Reporting から Firebase Crashlytics にアップグレードしました!

Reluxでは Crash Reporting を使用していましたが
今回 Crashlytics がベータ版を卒業するタイミングでアップグレードすることにしました。

firebase.googleblog.com

ブログによるとCrash Reporting は 2018年09月08日に完全に廃止されるそうです。

f:id:wootan1102:20180404145014p:plain

コンソール画面上からも同じように廃止される旨が表示されています。

アップグレード手順

公式ドキュメントにかかれている手順で簡単にアップグレードできます。
Firebase Crash Reporting から Firebase Crashlytics にアップグレードする  |  Firebase

Podfileの編集

Crash Reportingを削除
pod 'Firebase/Crash'
Fabric, Crashlyticsを追加
pod 'Fabric', '~>1.7.2'
pod 'Crashlytics', '3.9.3'

ビルド設定を変更

Build Settings > Debug Infromation FormatDWARF with dSYM に変更
※なぜか DWARF に設定されていて少しハマりました...

Build Phaseのスクリプトを編集

下記を削除

${PODS_ROOT}"/FirebaseCrash/upload-sym

下記を追加

"${PODS_ROOT}/Fabric/run"

動作確認手順

#import <Crashlytics/Crashlytics.h>

// 任意のタイミングで強制クラッシュ
[Crashlytics.sharedInstance crash];
Import Crashlytics

// 任意のタイミングで強制クラッシュ
Crashlytics.sharedInstance().crash()

対応するとどう表示されるか?

Crash Reporting

従来の Crash Reporting アプリの選択画面から表示することができる。

f:id:wootan1102:20180404150213p:plain

Crashlytics

クラッシュ率に関しては Crash Reporting版 と Crashlytics版 のデータがマージして表示されていました。
アップグレード前の過去のクラッシュ率を Crashlytics から確認することができます。
ただし、クラッシュ数、影響を受けたユーザ数、問題は表示されないのでどうしても見たい場合は Crash Reporting の画面で確認する必要があります。