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


関連記事

[Swift]ループできるページングビューをUIScrollViewで作ってみた

1 はじめに1.1 前提条件2 ページングビューとは3 実装3.1 Storyboardの準備3.2 コードの実装4 仕組み5 さいごに はじめに こんにちは、nukkyです。 スライドショーやウォー ...

[初心者向け]Xcodeの使い方(よく使うショートカットキーとエディタ)

1 はじめに1.1 前提条件2 ショートカットキー2.1 コメントアウト2.2 インデント2.3 ファイル内検索2.4 プロジェクト内検索2.5 クリーン2.6 ビルド2.7 ラン3 エディタ3.1 ...

swift

Swift3 コードでの画面遷移

1 はじめに1.1 環境2 performSegue2.1 事前準備2.2 遷移先を示すSegueを作成2.3 遷移させるイベントを作成2.4 画面遷移させる3 prepare3.1 事前準備3.2 ...

[Swift]クラスタされているPINを取得する

1 はじめに2 前回からの修正箇所3 クラスタリングされたPINの内容を取得する3.1 クラスタリングされているPINか判別3.2 クラスタリングされているPINを取得する4 TableViewとの連 ...

Moya vs APIKit

1 はじめに2 MoyaとAPIKitの概要2.1 Githubの比較2.2 機能比較3 実装の比較3.1 リクエスト定義3.2 レスポンスstruct3.3 リクエスト送信3.4 出力結果4 さいご ...

フォロー

blog-page_side_responsive

2020年10月
 123
45678910
11121314151617
18192021222324
25262728293031

アプリ情報

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