之前一直使用的友盟和腾讯的bugly来做错误信息的收集处理的,最近手上的接了个二次开发的项目,没有继承相关第三方,于是就自己试着处理下崩溃日志,记录下大概过程
苹果返回的错误日志,基本上是一些错误的堆栈地址,不解析基本是看不懂的,开始解析
总览: 解析需要三个必要的文件,一个是exbl.app.dSYM(备注: exbl为我的app名字,下同),exbl.crash(为苹果返回的.crash后缀的文件,鉴于名字太长,我重命名了),还有一个是symbolicatecrash的可执行文件;我在桌面上建了一个文件夹命名为MyCrash,总的大概是这样
1 exbl.app.dSYM是你每次archive包时里包含的文件打开xcode,上方栏里的window->organization,里面有对应的.xcarchive格式的文件,右键show in finder,再次右键显示包内容
,里面有四个文件,打开dSYMs文件,将其中.app.dSym格式的文件拖到桌面上新建的文件夹里
2 ecbl.crash,这个是从itunsconnect 上苹回复的文件里直接下载的,为了后面终端输入方便,建议名字改短一点,然后把该文件和dSYM文件放到桌面上的同一个文件里
3 symbolicatecrash文件 在桌面上直接command+shift+g 复制进路径/Applications/Xcode.app/Contents/SharedFrameworks/DVTFoundation.framework/Versions/A/Resources/symbolicatecrash 复制该路径注意是复制,然后把复制后的文件粘贴到dSYM和crash文件所处的文件夹里
4 终端cd 桌面上的存放上述三个文件的文件夹,执行命令
./symbolicatecrash ./exbl.app.dSYM ./exbl.crash > result.crash
如果提示变量未定义则 执行export DEVELOPER_DIR=/Applications/XCode.app/Contents/Developer