前回の記事で、クラッシュレポートの導入について書きました
その際に、dSYMファイルの設定でハマったので忘れないようにメモしようと思います
dSYMファイルとは
crachログはそのままだと見ても解読できません
メモリのアドレス位置(ポインタ)情報のみが記載してあるようです(すいません、よくわかってないです)
dSYMクラッシュログを、シンボル化して見えるようにしてくれるようです
dSYMファイルには以下の制限があるようです
- アプリをビルドした環境で作成したものでないと、シンボル化できない
- ビルド毎に新しく変更される(ポインタを復元するからという意味では当然かも)
- リリース時のdSYMファイルは別の場所に保持しておいたほうがよさそうです(解析できなくなるかも!)
Crashliticsでの設定
クラッシュレポートが送信されない
はじめは設定どおり、行ったのにレポートが全然更新されずに困りました
dSYMファイルが設定されていないのが、原因です。
dSYMファイルを認識していないと、画面右下に以下のアラートが表示されます
dSYMファイルの設定
アラートをクリックすると、dSYMファイルをアップしてくださいという画面が表示されます
dSYMファイルの取得
非表示ファイルなので以下の手順で取得します
- 非表示ファイル表示
defaults write com.apple.finder AppleShowAllFiles -boolean true
- dSYMファイル配置場所にアクセス
open /Users/ユーザー名/Library/Developer/Xcode/DerivedData/アプリ名xxxxxxxxx/Build/Products
dSYMファイルの設定
先ほどの画面へディレクトリ毎、ドラッグ & ドロップします
正常に登録されました
クラッシュレポートの再確認
クラッシュ用のサンプルからエラーを発生させてレポートの確認を行います
無事にレポートを認識してくれました。
おまけ
dSYMファイル自体をそもそも知らなかったので、たどり着くまでにだいぶ時間かかりましたが、
インストール時に丁寧に教えてくれていました。
ちゃんと読まないといけませんね。それにしてもナビゲーションがイチイチ親切です
まとめ
今回自分の知識不足の観点もあり、初歩的なところでだいぶ時間をつかってしまいました。
ただ入門書やアプリ開発だけでは得られない知識を吸収できるので、
積極的にいろんな環境を試していきたいと思います