iOS

【Swift】FabricからFirebase CrashLyticsのアップデート

投稿日:

はじめに

こんにちは、suzukiです。今回は下記2点の問題を解決するための記事です。

  • 11月15日から古いライブラリのクラッシュレポートの送信ができなくなる
  • 最近リリースした際にFabricのdsymのアップロードがうまくいかない

記事は下記でまとめております。

  • FabricからFirebase CrashLyticsのアップデート方法
  • dSYMsの手動アップロード方法

※アプリの配布には触れていいません。

FabricとFirebase

2017/01/18にFabricをgoogleによる買収が発表され、FabricのクラッシュレポートサービスがFirebaseのサービスに統合されて行きました。今までFabricライブラリをサポートしそのまま利用が可能だったのですが、2020/11/15をもってサポートが終了します。
Fabricライブラリを利用して行っていたのが下記の2点です。

  • dSYMsファイルのアップロード
  • クラッシュレポートの送信

FabricからFirebase CrashLyticsのアップデート方法

まず最初に既存のFabricの関連の内容を確認しましょう下記は全て不要になります。

Fabricの削除

・ライブラリの削除
Fabric.framework
Crashlytics.framework
のライブラリが不要になります。CocoaPodsやCarthageを利用されている方はそれぞれ導入のための記述を削除します。

・コードの削除
下記のようなインポート文と初期化コードを削除します。

・RunScriptの消去
Fabricの導入時のため追加されているRunScriptを削除します。

Firebase CrashLyticsの導入

今回はCocoaPodsを利用してFirebaseを導入します。

・ライブラリの追加
Podfileにpod 'Firebase/Crashlytics' pod 'Firebase/Analytics'を記述しpod installを行います。
※Firebaseの導入がまだの場合はこちらを参考に導入してください。

・コードの追加
AppDelegateにimport FirebaseFirebaseApp.configure()を記述します。

・RunScriptの追加
RunScriptに"${PODS_ROOT}/FirebaseCrashlytics/run"を追加します。

・CrashLyticsの有効化
FirebaseのプロジェクトからCrashLyticsを選択し有効化を行います。


上記の状態になったらクラッシュをさせます。公式のコードを参考にしてください。自分はシミュレーターではうまく動作しなかったので実機で確認を行いました。

dSYMsの手動アップロード方法

Fabricライブラリの導入手順で自動でdSYMsファイルをアップロードする設定がありましたが、2020/10頃から動作しなくなっています。そのため、FirebaseAnalyticsでmissing symbols等の表示される事がございます。
上記を解決するため手動でアップロードを行います。

dSYMsとは

Xcodeでアーカイブやビルドをした際に難読化がされます。その結果、アップロードするバイナリ上ではどのようなコードがどのクラスに記述されているか判別がつかない状態になります。
その際に難読化されたコードをもとに戻すためのファイルがdSYMsファイルとなります。
このファイルを元にFirebaseCrashLyticsでは難読化解除された(人が読める形式の)クラッシュ レポートを表示できます。

dSYMsファイルの取得方法

普段意識していないと思いますが、dSYMsファイルは自動的に作られています。作られているdSYMsファイルを取得する方法は下記の方法があります。

.xcarchiveから取得
Xcodeを開きWindow>Organizerを選択し、

Download dSYMsを選択

・iTunes connectから取得
iTunes connectでログイン→My appから目的のアプリケーションを選択→アクティビティを選択しビルドバージョンを選択します。
中央右側にの方にDsymのダウンロードというボタンがあるのでそちらを選択。
※この方法ではbitCodeを無効にしていたり、ストアに上げる際の設定で取得できないことがあります。

手動でdSYMsのアップロード

下記のコマンドをターミナルで実行しアップロードを行います。
FirebaseCrashlyticsライブラリに含まれるupload-symbolsを利用し設定ファイルとdSYMsを指定してアップロードを行います。

さいごに

最後までありがとうございます。アプリのクラッシュ解析のためとりあえず導入しておいたFabric、今後も使えるようにライブラリのアップデートとdSYMのアップロードは忘れず行いましょう。

おすすめ書籍

[改訂新版]Swift実践入門 ── 直感的な文法と安全性を兼ね備えた言語 WEB+DB PRESS plus 詳解 Swift 第4版 [改訂新版]Swiftポケットリファレンス (POCKET REFERENCE)

blog-page_footer_336




blog-page_footer_336




-iOS
-

執筆者:


comment

メールアドレスが公開されることはありません。

CAPTCHA


関連記事

Xcode11のデバッグ機能

1 はじめに2 Device Conditions2.1 Thermal state condition2.2 Network link condition3 Environment Override ...

Flutter開発のはじめかた 開発環境セットアップ〜Widtgetの解説

1 はじめに2 セットアップ2.1 Flutterのインストール2.1.1 Android環境のセットアップ2.1.2 Xcodeのインストール2.1.3 IDEのセットアップ(Android Stu ...

swift

[Swift]PDFKitでPDFの表示

1 はじめに1.1 前提条件2 PDKitの概要3 実装3.1 PDFの表示4 さいごに はじめに こんにちは、nukkyです。 以前、PDFKitを使わないでPDFを表示する方法を書きましたが、今回 ...

【Swift】Tesseract-OCR-iOSを使って文字の読み取り

1 はじめに2 導入準備2.1 ライブラリのインポート2.2 言語モデルのインポート2.3 カメラを利用する準備3 レイアウト作成4 カメラ撮影5 データ解析5.1 UIImageのエクステンション5 ...

iOSでFirebase Authenticationを実装してみる その2

1 はじめに2 匿名アカウントから永久アカウントに変換3 サインアウト4 アカウントの削除5 パスワードの再設定メール配信6 さいごに7 おすすめ書籍 はじめに こんにちは、Yossyです。 前回は、 ...

フォロー

follow us in feedly

blog-page_side_responsive

2020年10月
 123
45678910
11121314151617
18192021222324
25262728293031

アプリ情報

私たちは無料アプリもリリースしています、ぜひご覧ください。 下記のアイコンから無料でダウンロードできます。