5
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

and factoryAdvent Calendar 2019

Day 3

[iOS] アプリクラッシュでリジェクトされた際のクラッシュレポート復元方法

Last updated at Posted at 2019-12-03

はじめに

iOSアプリのストア申請時、アプリがクラッシュするとリジェクトされますよね。
そこで添付されたクラッシュログを復元する方法に手間取ったので、どのように解決したかを紹介します。

なぜ手間取ったか

調べると、dSYMからクラッシュログを復元する方法はたくさん出てきます。
私の環境では、CIでビルドからAppStoreConnectへのアップロードまで行っていた為、dSYMはAppStoreConnectからダウンロードしていました。
そのdSYMとアップルが送ってくれたクラッシュログの紐付けうまくいかず、手間取ってしまいました。

一般的には

クラッシュログ(xxx.crash)と、予め保存しておいたdSYM(アプリ名.app.dSYM)を、symbolicatecrashに食わせてやると、復元できます。

私の環境

AppStoreConnectからダウンロードしたdSYMは、appDsyms.zipというZIPファイルで、解凍すると中には[ランダムな文字列?].dSYMというファイルが多数入っています。
つまり、dSYMが複数あるような状況で、どのdSYMをsymbolicatecrashに食わせれば良いかが判断できなかった訳です。

手順

アップルが送ってくれたクラッシュログを確認すると、以下のような文字列が一番上に記述してあると思います。

{
"app_name":[アプリ名],
"timestamp":[日付],
"app_version":[アプリバージョン],
"slice_uuid":"f1a3f12a-gca0-3ad8-97d1-f450de9a6a9b", ←ランダムな文字列?
 〜 以下、略 〜
}

ここのslice_uuidに記載された文字列がキモです。
ダウンロードしたappDsyms.zipを解凍すると、f1a3f12a-gca0-3ad8-97d1-f450de9a6a9b.dSYMというファイルが存在していると思いますので、そのdSYMとクラッシュログをsymbolicatecrashで食わせてあげればクラッシュした箇所を特定することができます!

クラッシュログの復元方法(symbolicatecrashの使い方)については、以下の記事を参考にさせていただきました。
https://qiita.com/ruwatana/items/cc470eb229d267d693b0

おわりに

手元にdSYMが無く、ダウンロードしてきたdSYMも複数あって絶望したのですが、なんとか解決できました。
私と同じように、手元にdSYMファイルがないような状況に陥っている方の参考になれば幸いです。

5
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?