Crashログ確認方法
アプリを申請したけど、Crashにより却下されたときのログを確認する方法です。
環境 xcode 6.3.2
OS Yosemite
必要なもの
1.dSYMファイル
2.Crashログファイル
作業する場所はターミナル上です。コマンドを使用してターミナルにログ内容を.dSYMファイルと突合し表示させます。
1_.dSYMの取得
Crashが発生したアプリの.dSYMを取得します。
場所はXcodeのOrganizerにて対象の申請したアプリのArchiveにてShow In Finderを実行(対象ファイルをCtrl+右クリック)。
次に表示されたフォルダに.xcarchiveファイルがあるのでCtrl+右クリックします。
そしてパッケージの内容を表示を選択します。
中身が表示されたら、dSYMsフォルダに.dSYMファイルがあるので、コピーしましょう。
(コピーしたファイルはCrashログを参照する場所に貼り付けましょう。場所はどこでも構いません。が、あくまでもターミナルのカレントディレクトリが作業場所になりますので、ターミナルの作業ディレクトリに合わせましょう。
2_Crashログの取得
CrashログはApple DeveloperサイトのiTunes connect>My Appにて申請したアプリのサイトからダウンロードしましょう。
3_ターミナルの作業場所を決める
ターミナルが初期起動された場所から作業場所(あくまでターミナル上)を作業しやすい場所に変更しましょう。
a_/hoge/fuga/に移動
cd /hoge/fuga
b_デスクトップに移動
cd /Users/[Macにログインしているユーザー名]/desktop
c_一つ上の階層に移動
cd ../
4.Crashログファイルと.dSYMファイルのコピーを保存。
先ほど取得したCrashログファイルと.dSYMファイルのコピーをターミナル上の作業場所に保存(コピーしたものを貼り付け)しましょう。
5.symbolicatecrashのリンク
ターミナルでsymbolicatecrashリンクを作成します。
※xcodeのバージョンによってsymbolicatecrashの場所が異なります。
sudo ln -s /Applications/Xcode.app/Contents/SharedFrameworks/DTDeviceKitBase.framework/Versions/A/Resources/symbolicatecrash ./symbolicatecrash
6.Crashログの確認
ターミナルにてCrashログを確認します。
例
Crashログファイル名 temp..rasjdjvw.crash
アプリのdSYMファイル名 test.app.dSYM
./symbolicatecrash temp..rasjdjvw.crash test.app.dSYM
もし”DEVELOPER_DIR ・・・”のようなエラーになった場合、ターミナルにて以下を実行してください
export DEVELOPER_DIR=”/Applications/Xcode.app/Contents/Developer/”
追記
Crashしているスレッドにてアプリ名が表示されているアドレスがCrashしている場所だそうで、
その場合 ターミナルにてatosコマンドでどこで止まったのか表示できます。
atos -arch アプリがクラッシュしたデバイスのアーキテクチャ -o アプリ名.app.dSYM/Contents/Resources/DWARF/アプリ名 クラッシュした関数またはメソッドのアドレス
ただ、起動時にいきなり止まった場合などはsymbolを読めない場合もあります、
アプリを申請したけど、Crashにより却下されたときのログを確認する方法です。
環境 xcode 6.3.2
OS Yosemite
必要なもの
1.dSYMファイル
2.Crashログファイル
作業する場所はターミナル上です。コマンドを使用してターミナルにログ内容を.dSYMファイルと突合し表示させます。
1_.dSYMの取得
Crashが発生したアプリの.dSYMを取得します。
場所はXcodeのOrganizerにて対象の申請したアプリのArchiveにてShow In Finderを実行(対象ファイルをCtrl+右クリック)。
次に表示されたフォルダに.xcarchiveファイルがあるのでCtrl+右クリックします。
そしてパッケージの内容を表示を選択します。
中身が表示されたら、dSYMsフォルダに.dSYMファイルがあるので、コピーしましょう。
(コピーしたファイルはCrashログを参照する場所に貼り付けましょう。場所はどこでも構いません。が、あくまでもターミナルのカレントディレクトリが作業場所になりますので、ターミナルの作業ディレクトリに合わせましょう。
2_Crashログの取得
CrashログはApple DeveloperサイトのiTunes connect>My Appにて申請したアプリのサイトからダウンロードしましょう。
3_ターミナルの作業場所を決める
ターミナルが初期起動された場所から作業場所(あくまでターミナル上)を作業しやすい場所に変更しましょう。
a_/hoge/fuga/に移動
cd /hoge/fuga
b_デスクトップに移動
cd /Users/[Macにログインしているユーザー名]/desktop
c_一つ上の階層に移動
cd ../
4.Crashログファイルと.dSYMファイルのコピーを保存。
先ほど取得したCrashログファイルと.dSYMファイルのコピーをターミナル上の作業場所に保存(コピーしたものを貼り付け)しましょう。
5.symbolicatecrashのリンク
ターミナルでsymbolicatecrashリンクを作成します。
※xcodeのバージョンによってsymbolicatecrashの場所が異なります。
sudo ln -s /Applications/Xcode.app/Contents/SharedFrameworks/DTDeviceKitBase.framework/Versions/A/Resources/symbolicatecrash ./symbolicatecrash
6.Crashログの確認
ターミナルにてCrashログを確認します。
例
Crashログファイル名 temp..rasjdjvw.crash
アプリのdSYMファイル名 test.app.dSYM
./symbolicatecrash temp..rasjdjvw.crash test.app.dSYM
もし”DEVELOPER_DIR ・・・”のようなエラーになった場合、ターミナルにて以下を実行してください
export DEVELOPER_DIR=”/Applications/Xcode.app/Contents/Developer/”
追記
Crashしているスレッドにてアプリ名が表示されているアドレスがCrashしている場所だそうで、
その場合 ターミナルにてatosコマンドでどこで止まったのか表示できます。
atos -arch アプリがクラッシュしたデバイスのアーキテクチャ -o アプリ名.app.dSYM/Contents/Resources/DWARF/アプリ名 クラッシュした関数またはメソッドのアドレス
ただ、起動時にいきなり止まった場合などはsymbolを読めない場合もあります、