Help us understand the problem. What is going on with this article?

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

はじめに

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ファイルがないような状況に陥っている方の参考になれば幸いです。

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした