應用在發(fā)布到商店后凡涩,線上的代碼我們是不能直接的操作了棒搜,這點并不想web那么方便。如果應用在線上出現(xiàn)了bug活箕,你如程序crash了力麸,我們該如何發(fā)現(xiàn),并在下次升級時針對問題的根源做出解決呢育韩?
線上
第一步:1克蚂、首先要找到上傳到appStore 的api文件:在xcode 導航欄的window -Organiaer (如圖:)
2、選中你提交審核的api包筋讨,右鍵Show in Finder埃叭;
3、就看見了你Archive的文件包悉罕,打開終端把文件拖入終端赤屋,會出現(xiàn)其路徑,然后在后面拼接“dSYMs”,然后cd 到拼接好的路徑下壁袄,'ls'查看內容會得到你的app名稱:“xxx.app.dSYM”
然后再把得到的“xxx.app.dSYM”(‘xxx’是你自己的項目名稱)拼接到之前的路徑后面类早,下面會用到!如圖:
第二部:1嗜逻、我們要先找到在友盟的錯誤分析里的錯誤日志:
2涩僻、點擊一處錯地址(劃紅圈的)會顯示出一串命令:復制紅色下劃線的命令:
‘dwarfdump --arch=arm64 --lookup0x100020abc’
第三部:打開終端,把第二步 得到的命令和第一步得到的路徑 拼接起來栈顷,然后回車 :
就會出現(xiàn)下面一坨數(shù)據(jù)逆日,包括報錯的類名,以及報錯的方法萄凤,還有定位到了具體哪一行:
注:要確保友盟中 dSYM UUID 與 “xcarchive”文件的UUID一致室抽!否則啥都不會顯示!
如何查看‘xcarchive’文件的UUID 蛙卤?
cd 到 xcarchive 文件下狠半,然后用 ?‘dwarfdump?--uuid xxxx.app.dSYM’ 命令 就能看見 ?兩行UUID(xxxx是你自己的應用名)
對比友盟錯誤信息中的UUID噩死,如果沒有與其對應的,那應該就是選擇的‘xcarchive’文件不對神年。
或者自己找到.xcarchive文件和錯誤內存地址(友盟錯誤詳情里標綠色的為錯誤內存地址)已维。然后通過一個小應用來分析出對應的函數(shù)。應用下載地址,具體可參考文章dSYM 文件分析工具