swift3で作成したiOSアプリにCrashlyticsを導入してリリースした後、管理画面からクラッシュレポートを確認しようとしたら It looks like we are missing dSYMs to process crashes for the versions below.
というエラーが表示されてクラッシュレポートが見れない状態になっていた。
ちょっと手間取ってしまいましたが、stack overflowの回答を参考にして解決できたので、記録のために解決方法を書いていきたいと思います。
dSYMsファイルのアップロード
クラッシュレポートが閲覧できない直接的な原因はdSYMsファイルをCrashlytics上にアップロードしていない事が原因でした。
1. iTunesConnectからdSYMをDL
[iTunesConnect]へ自分のアカウントでログインして、マイAppからアプリを選択 > アクティビティへと移動し、最新版のアプリのビルド番号をクリックします。
ここで選択したビルド番号の詳細ページの中にあるdSYMをダウンロード
をクリックしてappDsyms.zip
というzipファイルをDLします。
2. CrashlyticsへdSYMファイルのzipファイルをアップロード
後は先ほどのCrashlyticsの管理画面へzipファイルをアップロードすればOKです。これでクラッシュレポートが確認できるようになりました。
dSYMとは
dSYMについてちゃんと理解できていなかったので改めて調べる。
Appleのドキュメントにあるクラッシュレポートの分析ではdSYMについて以下の様に触れられている箇所があります。
該当するビルドおよび.dSYMファイルを収容したアーカイブがあれば、Xcodeは自動的にクラッシュレポートをシンボル変換します。これは、メモリアドレスを、人が読んで理解しやすいシンボルに置換する処理です。
他にも色々調べて見ると、どうやらdSYMファイルを使うことで、アプリがクラッシュした際のスタックトレースが格納されたclashファイルをシンボル変換してくれるようです。(そういうもんだ。ってくらいにしか理解できていない。)