通过Mac自带的命令行工具解析Crash文件需要具备三个文件
1.symbolicatecrash
2.JSShuo.crash ----> 崩溃时产生的Crash文件,XXX.crash。
3.JSShuo.app.dSYM ----> 打包时产生的dSYM文件。
第一步:获取symbolicatecrash工具
打开终端输入以下命令:
find /Applications/Xcode.app -name symbolicatecrash -type f
//路径是:
/Applications/Xcode.app/Contents/SharedFrameworks/DVTFoundation.framework/Versions/A/Resources/symbolicatecrash
第二步:打包时产生的dSYM文件。
1.打开 Xcode,选择"Window——>Organizer"
2.选择对应版本的 Archive 包,"右键——>Show in Finder"
3.选择对应版本的".xcarchive"文件,"右键——>显示包内容"
注意:
1.如果建立的项目是用于搜集 Apple Watch 或者 App Extension的崩溃,dSYMs 文件夹下会有多个 dSYM 文件,可以根据 dSYM 文件的尾缀来区分符号表:
Apple Watch 的 dSYM 文件尾缀是 “AppName WatchKit Extension.appex”
App Extension 的 dSYM 文件尾缀是“AppExtensionName.appex.dSYM”
2.如果发现这个位置没有 dSYM 文件,说明你的打包配置设置了打包时不生成符号表。可查看Build Settings -> Build Options -> Debug Information Format 的设置,如果选为DWARF则不会产生dSYM文件,必须选择DWARF with dSYM File才会生成符号表文件。
将.Crash、.dSYM、symbolicatecrash三个文件都放在我们在桌面建立的Crash文件夹中。
打开终端,cd到当前文件夹,输入命令
./symbolicatecrash XX.crash XX.app.dSYM > result.crash
可能会报错
Error: "DEVELOPER_DIR" is not defined at ./symbolicatecrash line 69.
继续在终端输入 改变环境变量
export DEVELOPER_DIR=/Applications/Xcode.app/Contents/Developer/
再次执行
./symbolicatecrash XX.crash XX.app.dSYM > result.crash