iOS .crash 或 .ips 日志符号化
准备文件
- symbolicatecrash
- .dSYM
- 奔溃文件(.crash或.ips)
日志符号化的过程:
先新建个文件夹,假设文件夹A
1、找 symbolicatecrash 文件,在终端输入命令查找
find /Applications/Xcode.app -name symbolicatecrash -type f
选择下面文件放到文件夹A中
/Applications/Xcode.app/Contents/SharedFrameworks/DVTFoundation.framework/Versions/A/Resources/symbolicatecrash
2、找.dSYM 文件
可以从以下渠道找到该文件,并放到文件夹A中。
- 从Xcode 获取:
Xcode中Window > Organizer > Archives 中选择目标版本,右键选择 Show in finder,可以看到 xxx YYYY-MM-DD, 17.15.xcarchive 文件右键选择显示包内容, 进入 dSYMs 文件,可以看到 xx.app.dSYM 文件, 拷贝到 文件夹A中。
如果dSYMs 文件是空的,需要修改下Xcode 配置:Build Settings > 搜dsym 或 “Debug Information Format” 选项改为DWARF with dSYM file。重新打包才会生成。 - 从Appstore connection获取。
3、导入你的 奔溃文件(.crash或.ips) 放到文件夹A中
crash 文件来源:
- 手机设置>隐私>分析与改进>分析数据,进入到数据列表,找到对应APP,对应时间的crash 文件,导出
- 手机链接Xcode ,Window > Devices and Simulatos , 点击对应的设备, 点击 View Device Logs
4、开始符号化
a、终端cd 到 A文件中
cd /A
b、设置 “DEVELOPER_DIR” 这个环境变量
export DEVELOPER_DIR="/Applications/XCode.app/Contents/Developer"
不设置会报错
Error: "DEVELOPER_DIR" is not defined at ./symbolicatecrash line 69.
c、执行转化命令
./symbolicatecrash xxx-YYYY-MM-DD-162431.ips xxx.app.dSYM > newname.crash
newname.crash 是生成最后的名称
例如:
./symbolicatecrash /Users/XXX/Desktop/A/xxx.ips /Users/zhenghuizhu/Desktop/A/xxx.app.dSYM > xxx.crash
生成了新文件可以查看里面的代码。