通常我們在iOS開發(fā)中浪腐,會遇到很多閃退崩潰的問題窃肠,當(dāng)我們在本地調(diào)試的時候禾锤,大部分崩潰xcode可以直接定位到崩潰的位置私股,方便我們進(jìn)行分析修改,但是恩掷,如果我們將應(yīng)用發(fā)布以后出現(xiàn)閃退的情況倡鲸,我們無法定位到崩潰的代碼位置,這個時候就需要我們做一些處理來找出崩潰的代碼位置黄娘,然后進(jìn)行分析修改峭状。
1.首選我們創(chuàng)建一個命名為crash的文件夾。(可以放在任意位置逼争,自己開心就好)
2.然后我們需要拿到崩潰的日志优床,并下載到本地,這里我下載到本地以后誓焦,將文件命令為crash.text,方便接下來處理胆敞,將下載的日志文件拖入上一步創(chuàng)建的crash文件夾中。
3.回到電腦桌面,按快捷鍵command+shift+g打開快捷打開目錄工具移层,然后復(fù)制路徑/Applications/Xcode.app/Contents/SharedFrameworks/DVTFoundation.framework/Versions/A/Resources/symbolicatecrash進(jìn)去仍翰,回車打開,然后找到symbolicatecrash這個文件观话,將這個文件拷貝到第一步創(chuàng)建的crash文件夾中予借。
4.打開xcode,選擇Window菜單下的“Organizer”選項频蛔, 打開窗口蕾羊,然后選擇“Archives”這個選項卡,在列表中找到上線對應(yīng)版本的xcarchive文件帽驯,右鍵這個文件打開菜單龟再,選擇“Show in Finder”打開這個文件所在的目錄,然后在打開的目錄中右鍵這個文件尼变,選擇“顯示包內(nèi)容”利凑,打開這個文件包的內(nèi)容,然后打開內(nèi)容里面的dSYMs這個文件夾嫌术,在文件夾中找到自己的項目對應(yīng)的dSYM文件哀澈,同樣將文件拷貝到第一步創(chuàng)建的crash文件夾中。到這里需要的文件準(zhǔn)備工作就OK了度气。
5.打開終端割按,在終端中打開crash文件夾所在的目錄,然后在這個目錄下執(zhí)行命令:./symbolicatecrash ./crash.txt ./TeachersSide.app.dSYM > crash.log
symbolicatecrash為xcode的解析工具磷籍,crash.text為下載的崩潰日志文件适荣,TeachersSide.app.dSYM為自己的項目對應(yīng)的dSYM文件,這里我的項目名稱為TeachersSide院领,所以這個文件的名字為TeachersSide.app.dSYM
crash.log就是我們解析以后生成的解析完成的log日志文件
在執(zhí)行這條命令時弛矛,可能會報錯誤信息:Error: "DEVELOPER_DIR" is not defined at ./symbolicatecrash line 69.
這個時候,我們需要先執(zhí)行一條命令:export DEVELOPER_DIR=/Applications/Xcode.app/Contents/Developer
執(zhí)行完成以后比然,然后我們重新執(zhí)行上一條命令./symbolicatecrash ./crash.txt ./TeachersSide.app.dSYM > crash.log
等待執(zhí)行完成以后丈氓,我們在crash這個文件夾中,就可以看見一個crash.log的文件强法,這個文件就是我們解析完成的日志文件万俗。
然后雙擊打開這個文件,在這個文件中饮怯,我們就可以看到我們代碼崩潰的類名闰歪、方法、和崩潰代碼所在的行數(shù)等信息硕淑,非常精確的定位到出現(xiàn)問題的位置课竣,對應(yīng)我們修改問題代碼非常的方便實用。