版权声明:本文为博主原创文章,未经博主允许不得转载。
前言
在开发iOS应用的过程中,崩溃总是会伴随着整个开发流程,开发者在Debug的状态下可以很好地在控制台看到各种各样的崩溃信息,但是有些崩溃并不是总能在Debug状态下复现,往往都是在真实的环境下发生的,如果应用在开发阶段就没有考虑到崩溃日志的收集和分析机制,那么在碰到实际使用过程中反馈的崩溃时,该如何处理呢?
操作步骤
-
获取分析崩溃时需要的二进制文件
首先将真机连接同步助手等辅助软件,在崩溃日志选项中,导出以
.ips
结尾的文件备用-
Xcode->Window->Organizer
-
选择相应的Archive在Finder中打开
-
右键显示包内容
-
选择
dSYMs
文件夹和Products
文件,分别导出如下图所示的内容,把它们放到一个新建的命名为Crash
的文件夹中备用
-
获取
symbolicatecrash
工具- 拷贝一份symbolicatecrash工具到上个步骤新建的文件中,此时的文件夹中应该有
dSYM
、Product
、symbolicatecrash
个备用的崩溃分析组件
- 拷贝一份symbolicatecrash工具到上个步骤新建的文件中,此时的文件夹中应该有
find /Applications/Xcode.app -name symbolicatecrash -type f
- 正式开始分析崩溃日志
- 打开终端,进入到新建的
Crash
文件夹中,输入以下命令
./symbolicatecrash ~/Desktop/Crash/YourAppName.ips YourAppName.app.dSYM > test.crash
- 打开终端,进入到新建的
-
如果终端报了这样的错误
那么,我们还需要这样的操作
export DEVELOPER_DIR="/Applications/XCode.app/Contents/Developer"
- 最终会在
Crash
文件夹中会生成一个test.crash
的新文件,然后就可以看到可读的崩溃日志了