想要解析.crash文件,必须需要产生改崩溃日志包的.ipa文件和.app.dSYM文件,当然首先我们需要找到我们的解析工具symbolicatecrash。
一 、找出symbolicatecrash工具
find /Applications/Xcode.app -name symbolicatecrash -type f
查找的路径中有如下一路径
/Applications/Xcode.app/Contents/SharedFrameworks/DVTFoundation.framework/Versions/A/Resources/symbolicatecrash
使用Finder(访达)前往文件夹前往该文件夹处,拷贝出symbolicatecrash工具放入一个新建的文件夹中(例如crash)
二 找出.app文件和.app.dSYM文件
打开Xcode->Window->Organizer找到Archives找到App->右击Show in Finder
右击XXXXX.xcarchive文件 显示包内容 可看到如图内容
在dSYMs文件夹中找到对应的XXX.app.dSYM文件,在Products下的Applications目录下的如图文件
和.crash 文件一起放入crash目录下
crash目录结构如图
三 执行symbolicatecrash
首先到crash目录结构
执行
./symbolicatecrash XXX.crash XXX.app.dSYM > jieguo.crash
其中XXX为工程的名称 jieguo.crash 为解析后产生的文件
如果报错 Error: "DEVELOPER_DIR" is not defined at ./symbolicatecrash line 69. 需要 执行命令
export DEVELOPER_DIR="/Applications/XCode.app/Contents/Developer"
然后重新 输入命令
./symbolicatecrash XXX.crash XXX.app.dSYM > jieguo.crash
执行完成后如图
打开jieguo.crash文件,你就可以定位崩溃信息了。
四 注意点
需要注意的事.app.dSYM文件和app文件和.crash文件必须是同一次打包产生的。
验证是否为同一包产生可以根据各文件的uuid是否一致
查看 XXX.app 文件的 UUID,终端中输入命令 (其中XXX为项目名
dwarfdump --uuid XXX.app/XXX
查看XXX.app.dSYM 文件的 UUID ,在 终端 中输入命令
dwarfdump --uuid XXX.app.dSYM
查看.crash文件的uuid
打开.crash 查找Binary Images:
如图框内就是该文件的uuid