??? ? 最近新提交一個新版本到AppStore,就收到被拒郵件田弥,打開一看,We were unable to review your app as it crashed on launch. We have attached detailed crash logs to help troubleshoot this issue.神馬情況悲龟,Crash,測試測過多少次,都沒有crash的情況啊,還是app啟動就crash,再看看蘋果給我的三個.txt的crash日志,崩潰了次泽,神馬都看不懂,如何下手啊席爽,我這邊各種機型測試OK意荤,都沒有crash的情況,真是心碎只锻,欲哭無淚啊玖像,, 查了一些資料齐饮,真心幻想是蘋果測試環(huán)境出了問題冈止,哈哈畜疾。木有辦法捆憎,真心按不出來哪里有crash啊,硬著頭皮看蘋果的log唄瞒窒,真心不想看,太難看了
蘋果的xxx.txtLog日志需要借助xcode 的symbolicatecrash工具進行解析符號化乡洼,才能解析成我們熟悉的堆棧信息
? ? ? 1. 在桌面創(chuàng)建 crash 文件夾崇裁,稍后將所有的 crash 工具信息都放這里面,方便管理
? ? ? 2.找到?symbolicatecrash 工具位置 :每個人的存儲位置可能有所差異束昵,通過命令可以找出其位置:?
?find /Applications/Xcode.app -name symbolicatecrash -type f?
? ? ? ? ? 例如我的:?
? ? ? ?/Applications/Xcode.app/Contents/SharedFrameworks/DVTFoundation.framework/Versions/A/Resources/symbolicatecrash
? ?3.復(fù)制?symbolicatecrash 工具到 crash 文件夾中:
? ? ? ?cp /Applications/Xcode.app/Contents/SharedFrameworks/DVTFoundation.framework/Versions/A/Resources/symbolicatecrash /Users/xxxx/Desktop/Crash?
? ? 4.因為app打好包的所有信息都存放在 projectName.app.dSYM 這個文件中拔稳,需要將?projectName.app.dSYM 及?projectName.app 復(fù)制到 crash 文件夾中。
? ? ? ?Xcode --> Window --> Organize 中找到自己上傳 appStore 中的包锹雏,右鍵 --> Show in Finder --> 顯示包內(nèi)容 --> 將上述兩個文件 copy 到 crash 文件夾中巴比。
? ? 5.將 appStore 的反饋回來的 Crash 日志 (三個 .txt 文件) 下載下來,放到 crash 文件夾下
? ?注意: 紅框2 中的文件在此時是沒有的逼侦,是將紅框1 中的三個.txt 文件解析生成 紅框2 中的三個可讀文件匿辩。
? ?6.解析appStore的三個 .txt crash 日志文件
? ? ? ? 1) cd crash文件夾內(nèi)
? ? ? ? 2) 三個文件分別為?xxxCD.txt?xxxDC.txt?xxxAD.txt?,?crashcd.crash 為輸出文件名,輸出分別對應(yīng)?crashcd.crash?crashad.crash?crashdc.crash
? ? ? ? ? ?./symbolicatecrash ./xxxCD.txt ./ProjectName.app.dSYM > crashxx.crash
? ? ? ? 注: 如果解析報錯:Error: "DEVELOPER_DIR" is not defined at ./symbolicatecrash line 69. 輸入命令: export DEVELOPER_DIR="/Applications/XCode.app/Contents/Developer",之后繼續(xù)解析剩下文件榛丢,解析完成之后就能得到上圖文件夾中的 .crash 文件铲球。
? ? 7.查找原因: 比如解析后的文件為,系統(tǒng)調(diào)用的可以忽略晰赞,著重看自己調(diào)用的方法