しめ鯖日記

swift, iPhoneアプリ開発, ruby on rails等のTipsや入門記事書いてます

Crashlyticsで使われている.dSYMの実態を調べる

CrashlyticsではDebug Information FormatDWARF with dSYM Fileしないとエラーが検知されません。
今日はこのdSYMとは何かを調べてみました。

f:id:llcc:20151216234045p:plain

dSYMパッケージを見てみる

下パッケージがdSYMパッケージのようです。

/Users/[ユーザー名]/Library/Developer/Xcode/DerivedData/[プロジェクト名]-[ランダムな文字列]/Build/Products/Debug-iphoneos/[プロジェクト名].app.dSYM

パッケージは、Debug Information Formatがwith dSYMになってない時は作られません。

f:id:llcc:20170910140805p:plain

中身は下のようになっていました。

f:id:llcc:20151216234859p:plain

Info.plistはアプリのInfo.plistと同じデータが入っていてDWARFフォルダにはバイナリファイルが1つだけ置いてありました。 参考URLによるとdSYMはクラッシュレポートのメモリアドレスに対応するシンボル(クラス名やメソッド名)を持っているとの事なので、バイナリファイルにシンボル情報が書かれているのだと思われます。

参考URL

[iOS] アプリのクラッシュログを解析する方法