背景
測(cè)試demo上傳到TestFlight,經(jīng)過(guò)漫長(zhǎng)的等待撒汉,結(jié)果被拒了,原因是 Guideline 2.1 - Performance - App Completeness 項(xiàng)目一打開(kāi)就crash掉了涕滋,然后下載crash文件睬辐,開(kāi)搞。
xcode13之前
準(zhǔn)備步驟
1. 在桌面新建一個(gè)crash文件夾用來(lái)存儲(chǔ)要使用到的材料宾肺;
2. 下載crash文件溯饵,并將temp.crash文件放入crash文件夾;
3. 回到桌面锨用,使用快捷鍵 command+shift+g丰刊,前往 /Applications/Xcode.app/Contents/SharedFrameworks/DVTFoundation.framework/Versions/A/Resources/symbolicatecrash,并將symbolicatecrash文件拷貝到桌面crash文件夾內(nèi)增拥;
4. 打開(kāi)xcode啄巧,選擇Window菜單下的Organizer選項(xiàng), 打開(kāi)窗口掌栅,然后選擇Archives這個(gè)選項(xiàng)卡秩仆,在列表中找到上線對(duì)應(yīng)版本的xcarchive文件,右鍵這個(gè)文件打開(kāi)菜單猾封,選擇Show in Finder打開(kāi)這個(gè)文件所在的目錄澄耍,然后在打開(kāi)的目錄中右鍵這個(gè)文件,選擇顯示包內(nèi)容忘衍,打開(kāi)這個(gè)文件包的內(nèi)容逾苫,然后打開(kāi)內(nèi)容里面的dSYMs這個(gè)文件夾,在文件夾中找到自己的項(xiàng)目對(duì)應(yīng)的dSYM文件枚钓,同樣將文件拷貝到第一步創(chuàng)建的crash文件夾中铅搓。
5. 打開(kāi)終端,在終端中打開(kāi)crash文件夾所在的目錄搀捷,然后在這個(gè)目錄下執(zhí)行命令:./symbolicatecrash ./tepm.crash ./xxx.app.dSYM > crashLog.crash
symbolicatecrash為xcode的解析工具星掰,tepm.crash為下載的崩潰日志文件,xxx.app.dSYM 為自己的項(xiàng)目對(duì)應(yīng)的dSYM文件嫩舟,crashLog.crash就是我們解析以后生成的解析完成的log日志文件氢烘。
在執(zhí)行這條命令時(shí),可能會(huì)報(bào)錯(cuò)誤信息:
Error: "DEVELOPER_DIR" is not defined at ./symbolicatecrash line 69.
這個(gè)時(shí)候家厌,我們需要先執(zhí)行一條命令:
export DEVELOPER_DIR=/Applications/Xcode.app/Contents/Developer
執(zhí)行完成以后播玖,然后我們重新執(zhí)行上一條命令:
./symbolicatecrash ./tepm.crash ./xxx.app.dSYM > crashLog.crash
等待執(zhí)行完成以后,我們?cè)赾rash這個(gè)文件夾中饭于,就可以看見(jiàn)一個(gè)crashLog.crash的文件蜀踏,這個(gè)文件就是我們解析完成的日志文件维蒙。
然鵝,劃重點(diǎn)果覆,我的crashLog.crash并沒(méi)有解析出來(lái)颅痊,問(wèn)題出在哪呢,通過(guò)詢問(wèn)
Mr_wick局待,我的大神朋友斑响,得知xcode13之后,蘋果已經(jīng)更新了崩潰日志格式钳榨,使用原來(lái)的方式已經(jīng)無(wú)法獲得崩潰日志舰罚,使用原有方案是得不到結(jié)果滴。
xcode13 后crash文件的正確解析姿勢(shì)
1. 還是將前4步的準(zhǔn)備工作做好
2. 使用終端命令
cd /Application/Xcode.app/Contents/SharedFrameworks/CoreSymbolicationDT.framework/Resources/
3. 執(zhí)行
python3 CrashSymbolicator.py -d '符號(hào)表路徑' -o '輸出路徑' -p '蘋果給的日志'
重绷。
例如:
python3 CrashSymbolicator.py /Users/admin/Desktop/temp/dSYMs/wechat.app.dSYM /Users/admin/Desktop/temp /Users/admin/Desktop/temp/crash.crash
4. 此時(shí)就可以得到新鮮出爐的解析文件了
完美結(jié)束
參考鏈接