クラッシュレポートのためのFirebase Crashlytics SDK を アップグレードしないと2020/11/15から使えなくなるのでFirebaseのドキュメントを参考にアップグレードの作業を進めました。
Firebaseのドキュメント通りに作業を進めればすんなりと終わるはずだが自分はそうもいかなかったので記事にさせていただきます。
後ほど説明しますが、自分はコードの修正を行いテスト用で強制クラッシュさせる際にかなりてこずりました。
ios環境をアップデートしたのでXcodeを使っていきます。
そもそもFirebase Crashlyticsとは
アプリのクラッシュ時にレポートを管理してくれるFirebaseの機能
アップデートの手順
- podfile追加&pod install
- コード修正
- 実機でテスト用強制クラッシュ
テスト用強制クラッシュの手順(参考サイト)
- Xcode にて Build and then run
- Xcode にて Stop running
- 実機でもう一回アプリの立ち上げ
- 自分が前もって設定してたfatalErrorを仕込んである画面に遷移
- fatalErrorでクラッシュレポート発信
- Firebaseのコンソールで確認
- 実装されたfatalErrorを削除する
これをやれば大丈夫!強制クラッシュの実装方法
アプリを立ち上げた時には呼び出すことができないようなViewController内のviewload関数内にfatalErrorを入れる
- つまり実機でアプリを立ち上げて自分の手でスマホを操作してのち、fatalErrorを起こせればOK
- アプリを立ち上げて即fatalErrorになるとレポートが送られない
- 参考サイトでは、プロジェクト内でタップするとfatalErrorが起きるボタンを実装している
なぜ僕がテスト用強制クラッシュで手こずったのか
ずばりXcode にて Stop runningののち、実機でもう一回アプリの立ち上げをしないとクラッシュレポートが送れないということを知らなかったから
何回も修正したコードを見直しました笑
一連の作業が終わって大変だなって思ったこと
Pods関連はcocoapodsを使ったことがある方は一瞬で終わるでしょう。
自分が大変だなって思ったのはコード修正です。
Firebaseのドキュメントをみてもらえればわかりますが、修正項目が14箇所あり間違えればテスト用の強制クラッシュさせる時にエラーが出るため抜け漏れなく修正する必要があります。
僕は各項目それぞれ修正点と懸念点を細かくメモしながら修正しました。修正点を見つけるときはXcodeのプロジェクト内検索機能を使うと楽です。