导读
准备
- MAC电脑一台
- Xcode
- 文件(crash文件、dSYM文件)
步骤
1>首先按照iOS之解析审核Crash Log方式(一)中将文件准备好,放在一个文件目录下,包括:crash文件、dSYM文件
2>手机连接电脑,打开Xcode,然后找到Devices,当然Xcode9 Beta改了一下名字,截图如下(Xcode9之前只有Devices):
3>进入后找到选中自己的手机,然后找到View Device Logs,以下为Xcode9 Beta版本的样式,之前的也大致一样:
4>然后就能看到相应的手机里面的log日志了,包括crash文件如图:
5>我们现在需要把审核时苹果丢给我们的crash文件导入到手机中,直接选中crash文件拖入到第4步当中的框中,不管是This Device 还是All Logs都可以,如下:
6>选中此crash文件然后右键选择Re-Symbolicate Log然后等待解析
7>不多一会儿你就能看到解析之后的效果了。
注意点
1>我的解析出来是有一部分没有解析完全的,单单有几行是解析不出来的,如下对比图:
首先我介绍一下此项目Crash产生背景:
我在提交审核的之前是没有任何问题的,也测试了,但是呢提交到苹果审核时,苹果说一运行就崩溃了,然后就给了个Crash文件,解析之后发现关键的部分没有解析出来。并且我的项目名是中文的,打黑影处也是中文的,不像我的示例中是英文的。
问题解决:
①可能是中文问题,后续把项目改成英文
②因为我们不能重现问题,所以有一个思路提供下,就是我们利用TestFlight来模拟审核环境,另外针对于部分不能解析的问题,我想在项目中集成Bugly,然后通过TestFlight测试产生Crash,然后查看Bugly的后台解析结果,如果没有问题的话然后直接用测试过的TestFlight版本提交审核。
此处贴上两个链接:
腾讯Bugly
iOS之使用TestFlight进行App构建版本测试
2>我在解析的过程中其实并没有把这俩文件放在一个目录下也可以,我在想是不是在解析的时候会自动在MAC上搜索相关的dSYM文件呢?这个有待查证。
参考
1>产生Crash的原因和抓取Crash的方式
ios crash的原因与抓取crash日志的方法
2>代码产生崩溃的诸多原因以及解决办法,比较全面
iOS崩溃crash大解析