前言
在解析崩潰日志前, 我們先來(lái)梳理一下處理app崩潰前的流程吧茅特。
00293dkxzy7xYbcG0eh05.jpeg
- 通過Xcode把swift/m文件編譯成.app和.dSYM兩個(gè)文件
- 得到的兩個(gè)文件存放在.xcarchive文件夾內(nèi)
- 通過Archive把2打包成release包薪缆、testflight和發(fā)布到AppleStore等途徑
- 安裝到設(shè)備上后, 發(fā)生了閃退
- 從發(fā)生閃退的設(shè)備上拿到.crash文件, 和找回對(duì)應(yīng)app的.dSYM文件
- 通過Xcode自帶的終端命令來(lái)解析崩潰日志
- 又或者讓用戶打開自動(dòng)上報(bào)崩潰日志功能
- 從登錄了開發(fā)者賬號(hào)的Xcode中查看線上的崩潰信息
正文
前面梳理了一下流程后, 很明顯, 我們需要以下這些內(nèi)容才可以繼續(xù)解析:
- .dSYM文件
- .crash文件
-
.ipa文件
前兩個(gè)在前面的兩篇文章里已經(jīng)說(shuō)過怎么獲取, 那么.ipa是拿來(lái)復(fù)現(xiàn)閃退的嗎? 非也非也~當(dāng)我們這個(gè)app已經(jīng)有好多個(gè)迭代版本后, 我們需要先明確--它們是否來(lái)自同一個(gè)ipa的閃退枢赔。
每個(gè)ipa都有一個(gè)標(biāo)識(shí)--uuid, 通過終端命令可以查看:
00293dkxzy7xYeHbUEoc0.jpeg
同樣, 每個(gè)dSYM也一樣有uuid:
00293dkxzy7xYfcxj6S4e.jpeg
雖然.crash也是有uuid, 不過就不用跑終端命令啦~
00293dkxzy7xYfHnlY074.jpeg
怎么樣? 對(duì)得上了吧~ 到此準(zhǔn)備完畢