Swift クラッシュリスティックの実装

アプリが落ちたとき原因を知ることができる、重宝するフレームワーク

本家サイト https://firebase.google.com/docs/crashlytics/get-started?hl=ja ここを見てやればそのままできる。

Podファイルに追加

ちなみにFMDBは関係ない。別のフレームワーク

f:id:happy_teeth_ago:20181026013818p:plain

podファイルが無いときは

pod init

すればPoidファイルができる。フレームワークを入れるためのもの。 xcodeのプロジェクトがあるフォルダへ移動し、当然そこにはPodファイルがある。

pod install

こんな感じでフレームワークが、インストールされる。 f:id:happy_teeth_ago:20181026014000p:plain

必ずxcodeは閉じておかないといけない。

また、インストール後は、必ずアプリ名.xcoworkspaceのアイコンをクリックして起動すること。

そうしないと壊れます。 f:id:happy_teeth_ago:20181026011050p:plain

Xcode でプロジェクトを開き、ナビゲータでプロジェクト ファイルを選択します。

[Select a project or target] プルダウンでメインのビルド ターゲットを選択します。

ターゲットの [Build Phases] タブを開きます。

[+ Add a new build phase] をクリックし、[New Run Script Phase] を選択します。

f:id:happy_teeth_ago:20181026011645p:plain

[Type a script...] テキスト ボックスに次の行を追加します。

xcode10を利用していましたので、[Input Files] にも追加しました。

f:id:happy_teeth_ago:20181026011854p:plain

Firebase プロジェクトを作成する必要があります。

リンク先はこちら

ログイン - Google アカウント

プロジェクトを作成します

f:id:happy_teeth_ago:20181026012836p:plain

指示通りに作業します。ダウンロードした、plistファイルをプロジェクトに追加します。

f:id:happy_teeth_ago:20181026012940p:plain

アプリの起動時に Firebase を接続するには、メインの AppDelegate クラスに以下の初期化コードを追加します。

//この行を追加
import Firebase

//これはデリゲートメソッド、はじめからあるメソッド
 func application(_ application: UIApplication,
    didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?)
    -> Bool {

//この行を追加
FirebaseApp.configure()

通信を始めるので、ビルドする。シミュレーターでも実機でも良い。

f:id:happy_teeth_ago:20181026013432p:plain

しばらくして(5分程度) このようにWEBの表示が変わればOK

f:id:happy_teeth_ago:20181026014501p:plain

コンソールに戻って少し設定 ここはFabric時代から利用していた人はすでにインストールされているを選択する。 Fabricは廃止予定。 f:id:happy_teeth_ago:20181026014606p:plain

強制的にクラッシュさせるテスト ここにあるソース書くのだけど、結局デバッグモードで矯正クラッシュさせても、情報は得られない

Test your Firebase Crashlytics implementation

.dSYMファイルは、落ちた事を伝えるときに、どの場所で落ちたかを伝えるファイル。 この設定で良い。 f:id:happy_teeth_ago:20181026015414p:plain

リリースビルドで落ちたときに.dSYMファイルが必要。

ちなみに参考にしたサイト ja.stackoverflow.com


dsmyファイルのupload Firebaseのこのページに記載がある

/path/to/pods/directory/FirebaseCrashlytics/upload-symbols
 -gsp /path/to/GoogleService-Info.plist -p ios /path/to/dSYMs

すべて、コマンドを実行するフォルダからのpath 通常は、作業フォルダで良い

これはまずupload-symbolsメソッドを実行する。

それはPodsのFirebaseCrashlyticsフォルダに存在する

f:id:happy_teeth_ago:20210328100824p:plain

そうするとpathが出力される

オプションは -gsp

GoogleService-Info.plistへのpathを記載する

-p でdSYMsへのpath

を記載する

dSYMsファイルは、APP Storeからダウンロード可能