iOS 符号化崩溃日志笔记:
1、桌面建立一个crash文件夹,放入一下内容
2、发布版本,保存ipa文件和DSYM文件。 前者打包后保存即可,后者archive时.xarchive文件,右键显示报内容就即可得到(也可以在Xcode ->window->orgnize->archives->选中版本archive文件右键显示报内容,拷贝出DSYM)
3、将.ipa包名改为.zip,解压,然后XXXApp(product)文件拷贝到crash文件夹下
4、根据/Applications/Xcode.app/Contents/SharedFrameworks/DVTFoundation.framework/Versions/A/Resources/symbolicatecrash 这个路径找出symbolicatecrash,拷贝到crash文件夹下,不知道路径可以在终端中使用 find /Applications/Xcode6.1.app -name symbolicatecrash -type f 命令搜索,得到上述路径在finder中Command+G前往文件夹,就能找到了,拷贝出来,放在crash文件夹里
5、 在终端命令中执行 export DEVELOPER_DIR="/Applications/Xcode.app/Contents/Developer" 不执行,第一次符号化文件时会报错如下: “"DEVELOPER_DIR" is not defined at /Users/zhangliang/Desktop/crashLog/symbolicatecrash line 69.” 类似错误
6、 将代码切换到发布版本时的代码,打开Xcode,在window->Devices下选中自己设备,点击左边view device logs 稍等片刻,会加载出来这个设备的crash log ,点击All Logs 能看到改台设备的所有崩溃文件即.crash文件,然后右键导出这文件,放在crash文件夹下
7、打开终端命令:cd /Users/user name/Desktop/crash 切换到crash文件夹下,一次拖入symbolicatecrash —-> .crash 文件 —> .dSYM 然后输入 >fileName.crash, 回车,这样就能符号化我们收到的 .crash 文件
一点补充:
http://www.cnblogs.com/smileEvday/p/Crash1.html 这个地址是crash文件的结构解释,一般我们获取到NSException 崩溃文件,没有.crash 文件那么完整,可以通过从设备中导出来的.crash 文件,把其头部和尾部Binary Images:0xfe000 - 0x5adfff KYViedoApp armv7/var/mobile/Applications/AB476A2B-E4F4-45D9-A0A2-F9409F434B8A/KYViedoApp.app/KYViedoApp
拼接在堆栈信息两头,一样可以符号化出来我们的堆栈信息