スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

【XCODE】crashレポートを解析する

iTunes Connectにアプリを申請するとCrashしました、とRejectされることがある。
そんな時はCrashレポートを添付してくれているが、そのまま見ても何が何だかわからない。
もうちょっとなにか情報の渡し方があるんじゃないのかな、と思うところではあるが、このCrashレポートを少しわかりやすくできる。
すなわち、生データから人が読み解けるものに変換できる。

下記のステップはいかにも面倒臭く感じるが、Crashレポートを一旦無視して自分でデバッグするよりもレポートをしっかり理解したほうが時間の節約になるので是非試してほしい。
準備するものは下記の通り。

A. ターミナル(Macにプリインストールされているソフト)
B. iTunes Connectのレポートにに添付された.crashファイル
C. .dSYMファイルとappファイル
D. symbolicatecrashファイル

まずは上記を集める。

AはSpotlightにTerminalと打ち込めば起動できる。

BはSafariでiTunes Connectにアクセスして下記のようにResolution Centerからダウンロードする。
ファイル名は【アプリ名】.crashとして「デスクトップ」に保存しておく

CはXcodeのOrganizer経由で取得するのがいい
1. Xcode > Window Organizer
2. 申請を行ったバージョンのビルドを右クリックして「Show In Finder」を選択 ※1
3. Finderで表示されているファイルを右クリックして「パッケージの内容を表示」 ※2
4.-1 「dSYMs」ディレクトリ内に「【アプリ名】.app.dSYM」があるのでデスクトップにコピー
4.-2 「Product/Application」ディレクトリ内に「【アプリ名】.app」があるのでデスクトップにコピー
※1 申請を行ったアーカイブを選択しないとこの後のステップを行っても結果が出ないので注意。
※2 右クリックが反応しないことがある様子。根気よくやってみること。

Dは下記にあるはずなので次のステップでターミナルで確認してみる。
/Applications/Xcode.app/Contents/SharedFrameworks/DTDeviceKitBase.framework/Versions/A/Resources/symbolicatecrash


ターミナルで下記を実行

$ cd /Applications/Xcode.app/Contents/SharedFrameworks/DTDeviceKitBase.framework/Versions/A/Resources/


これがうまくいけばsymbolicatecrashファイルはこのディレクトリの中にあるということになる。
※2015/07/12時点の最新バージョンではこの場所だが移動される場合があるので注意


準備が整ったので実際にログをみる。

ターミナルで下記を実行してデスクトップに移動。

$ cd ~/Desktop


ターミナルで下記を実行(おまじない。これをやらないと60行目にエラーが出る)

export DEVELOPER_DIR="/Applications/Xcode.app/Contents/Developer"


ターミナルで下記を実行(ログを紐づける)

/Applications/Xcode.app/Contents/SharedFrameworks/DTDeviceKitBase.framework/Versions/A/Resources/symbolicatecrash 【アプリ名】.crash 【アプリ名】.app.dSYM 【アプリ名】.app




上記がうまくいくとガリガリと処理がはじまり、クラッシュした場所の関数名などがわかるように処理してくれる。
これ、全自動でできればいいのに。。

コメント

コメントの投稿

非公開コメント

PR

PR

プロフィール

何でも書くman

Author:何でも書くman
思ったことや備忘録など、とりあえずなんでも書きます。IT系のことや趣味、生活に関わることなども。

ページの先頭へ戻る
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。