1.桌面新建一個文件夾,自行命名(crash);app
2.找到Xcode的位置,右鍵"顯示包內容",根據如下目錄找到symbolicatecrash工具:/Applications/Xcode.app/Contents/SharedFrameworks/DVTFoundation.framework/Versions/A/Resources/symbolicatecrash,並拷貝出來,放到剛纔建立的(crash)文件夾中;工具
3.把蘋果審覈返回的崩潰日誌下載,也放到剛纔建立的crash文件夾中;ui
4.打開Xcode,選擇Window-->Orgianzer找到對應的Archive文件,spa
點擊右邊的Download dSYMS,debug
若是提示 No dSYMs were found for Version xxx Build xxx ,3d
能夠右鍵點擊對應的Archive文件,show in finder,而後右鍵顯示包內容,找到dSYMs文件夾下的對應dYSMs文件,拷貝到剛纔的文件夾下;日誌
若是文件夾爲空,那麼就要去檢查Xcode設置,在Xcode --> Build Setting 搜索 "debug information format",將"DWARF"修改成"DWARF with dSYM File",以後從新打包就能夠找到了;code
5.打開終端,進入剛纔的文件夾(cd 你本身的剛纔建立的文件夾路徑)orm
1blog |
|
6.接着輸入如下命令
1 |
|
注:crash.txt爲蘋果返回的崩潰日誌的名字,MyAppName.app.dSYM爲你本身拷出來的dSYM文件的名字,crash.log爲你要輸入的日誌文件的名字
執行命令以前的crash文件夾內(上面三個txt格式的爲蘋果返回的崩潰日誌文件)
執行命令以後(.crash文件爲生成的日誌文件)
7.若是提示"DEVELOPER_DIR" is not defined at xxxxxxxxxxxxxx,那麼輸入如下命令,若是沒有則跳過
1 |
|
8.而後從新輸入第6步的命令
1 |
|
9.打開日誌文件進行分析
10.根據提示找到SportMainController中的onReGeocodeSearchDone方法
11.發現是在else中截取字符串時出現問題,有可能字符串長度爲0,這樣substringToIndex:-1就致使程序崩潰了,加一個判斷條件,問題解決