dSYM文件
dSYM文件保存了調(diào)試信息的文件,方便App在線上用戶使用時(shí),發(fā)生Crash后,進(jìn)行函數(shù)調(diào)用堆棧還原,定位Crash原因,文件名通常為:xxx.app.dSYM,文件通??梢酝ㄟ^(guò)Xcode進(jìn)行查看,Window -> Organizer -> Archives -> 選擇對(duì)應(yīng)的Archives包 -> Show in Finder -> 選折對(duì)應(yīng)的.xcarchive文件 -> 顯示包內(nèi)容 -> 打開(kāi)dSYMs文件夾,找到對(duì)應(yīng)的項(xiàng)目名.app.dSYM文件。所以通常我們應(yīng)該為線上版本的app備份好Archives后的包。例如:

截屏2020-11-06上午10.50.34.png

截屏2020-11-06上午10.51.45.png

截屏2020-11-06上午10.54.12.png

截屏2020-11-06上午10.55.45.png
dSYM文件缺失的問(wèn)題
要對(duì)打包App生成dSYM文件,需要在Xcode中進(jìn)行正確的配置才行,如果配置錯(cuò)誤,則可能照成dSYM文件缺失,從而無(wú)法進(jìn)行Crash問(wèn)題的定位,例如:

截屏2020-11-06上午11.02.42.png
處理dSYM文件缺失
- 處理dSYM文件缺失通常需要檢查Xcode中的兩處配置,首先檢查Project -> Build Settings下的Generate Debug Symbols配置是否設(shè)置為YES,如果為NO,則不會(huì)生成生成調(diào)試符號(hào)文件,也就不會(huì)生成xxx.app.dSYM文件。例如:

13778663-435e6759856fb6c6.png
- 在確保Generate Debug Symbols配置為YES的情況下,還需要檢查Project -> Build Settings下的Debug Information Format的值是否被設(shè)置為DWARF。如果是則需要修改為DWARF with dSYM File后再重新打包,才會(huì)生成新的dSYM文件。但如果Generate Debug Symbols配置為NO的情況下,即使Debug Information Format的值設(shè)置為DWARF with dSYM File也不會(huì)生成xxx.app.dSYM文件。例如:

截屏2020-11-11下午2.27.37.png
注:Generate Debug Symbols開(kāi)啟后,進(jìn)行Archives打包后,包的體積會(huì)變大。例如:

截屏2020-11-06上午11.18.04.png

截屏2020-11-06上午11.19.42.png
進(jìn)行Crash定位
進(jìn)行Crash定位可以使用一款開(kāi)源的工具dSYMTools,Git地址:https://github.com/answer-huang/dSYMTools