iOS自动Crash解析
百度移动统计SDK(iOS) Crash版收集的Crash日志,需要百度移动统计服务端解析后,方可阅读。使用百度移动统计的自动Crash解析功能,需要以下几个步骤:
- 在您的APP内接入百度移动统计
Crash版本
的SDK
接入方法与百度移动统计标准版本的接入方法一致,由于我们目前尚未提供Crash版本的Cocoapods接入,您可以按照手动接入的方式接入
- 下载Symbol工具
百度移动统计Symbol工具,是抽取用户应用的dSYM文件中的信息,生成数据包。在Symbol工具包中包括:
- dump_syms符号抽取工具
- BaiduSymbolTool执行工具使用时,需要将这两个工具与dSYM文件放在同一目录下。
生成Symbol文件
打开mac终端,cd进入Symbol工具所在目录,执行如下指令(
XXXX.dSYM
指您的dSYM文件,appName
指您的App工程名),将会在当前目录下,生成一个Zip数据压缩包
./BaiduSymbolTool XXXX.dSYM/Contents/Resources/DWARF/appName
上传Symbol文件到百度移动统计网站
- 登陆mtj.baidu.com
- 进入查看某个应用详情
- 在左侧导航栏,找到设置-文件管理,在该页面上传zip数据包
- 待文件状态为
验证成功
后,即上传成功
- 查看解析后的错误信息
上传成功后,您可以进入错误分析-错误报告查看到解析后的错误日志
注意事项
开启Bitcode的应用Archive打包发布后,需要在Organizer窗口下载对应的新的dSYM文件,下载的dSYM文件若有多个,每一个都需要进行如上四步操作
自动解析只对上传symbol文件之后发生的Crash有效,对于上传symbol文件之前收集到的Crash,系统不会自动解析。您可以参考手动解析的步骤进行解析
为什么上传之后还有Crash没有被解析?
请注意以下几点:
- dsym文件的uuid与日志的uuid匹配才能被解析。您可以看到生成的symbol文件包末尾的uuid与Crash日志上的UUID是否匹配。
- 目前只解析自有模块的函数,不解析系统库函数
dSYM文件说明
什么是dSYM文件?
iOS平台中,dSYM文件是指具有调试信息的目标文件,文件名通常为:xxxx.app.dSYM
如何获取dSYM文件?
- Debug开发状态
以Xcode开发工具为例,一般在项目编译完成后,dSYM文件与app文件在同一目录下,可以通过如下步骤,找到dSYM文件:
- 在Xcode中编译工程
- 在左侧栏找到Product文件夹
- 右击编译生成的xxxx.app文件,选择"show in finder"
如图所示:
![Add File 1](./images/2.png)
Release发布状态
- 开启了Bitcode的App发布时获取dSYM方法如下:
App Store 针对开启了 Bitcode 的 App 做了特殊处理,所以获取发布时的dSYM文件需要如下步骤:
- 打开 Xcode 顶部菜单栏 -> Window -> Organizer 窗口
-
选择Archive选项
-
点击你发布生成的Archive包,在右侧信息栏中点击"Download dSYMs…"
-
dSYMs 会下载到对应的 Archive 归档内,右键点击对应Archive包,选择Show in Finder.
-
右击Archive文件,选择“显示包内容”,在打开的文件夹中选择“dSYM”文件夹,该文件夹下新下载的dSYM文件,就是所需要的dSYM文件,若有多个新下载的dSYM文件,则每一个文件都需要进行上述的生成和上传操作.
- 未开启Bitcode 的应用,Archive包中已经存在的原始dSYM文件就是所需要的dSYM文件,不需要下载。