iOS开发--一次未过审的Crash分析

作为iOS开发猿,每次面临过审的心情都忐忑的。这个节前提交的新版本,结构节后来发现被拒了。
忧伤的一笔。

4A20A4B7-37DA-4C6A-AFF9-D4B082F5171F.png

咋一看是IPV6 network 就知道是网络的问题。
继续往下看,发现了因为网络问题出现了Crash问题,之后反馈中带了Crash的文件。

EE6F2FF0-5A63-4EDF-8753-7E07408C941A.png

看到有Crash 文件是text 格式的,这就很尴尬了。说好的 .Crash呢 怎么变成text了呢。
这边就需要转成了Crash格式的文件配合dsym 才能 转成我们可以读懂的符号集。

这边text文件中的内容,需要去掉头部和尾部附加的信息才能得到真正的 Crash文件


1E33F0E4-8282-4893-8A53-539E039A1EAD.png

从红线的地方开始复制
到 EOF 结尾

BE83C187-3B07-4B11-8997-4C66CC76BD65.png

然后 新建一个文件 将内容复制改成Crash格式的文件
这边有个问题 ,我复制text里的文本信息改格式之后有很多多余的 \换行符,这就很麻烦了。

于是,我就是Device log (后面会说明)中 随便找了一份 Crash文件,用文本编辑器打开,修改了内容QAQ。

现在分析Crash 最重要的Crash文件弄好了,在准备 dsym符号集和app的二进制文件放在一个文件夹里就可以了。

0AA8A92B-1DF6-4945-90C9-BBDD58249A3B.png

符号集 和 二进制文件
我们可以打开 window -》 Organizer

932E1A51-7DFB-42B2-9AE0-A2EA890A5D51.png

找到当前的Crash 的版本 右击查看包内容
找到所需要的文件

当我们 准备好 需要的3个文件之后。
将Crash 文件拖到 device log 就会自动转化。 百度 的一些Crash 分析都是很老的文章,对应的Xcode 版本也是低版本。难免会造成一些误差。
这边我们打开 window -》 Deviece

1964A0BA-731F-4A56-8833-A7BBBC4B1742.png

选中 view Device Logs

4A1D1503-52D7-404B-8000-80D8418AC0DE.png

然后将 Crash 文件 拖到其中,稍等片刻。就会出现 我们所需要的信息。
我们开看下我的分析后 Crash文件

4D2F3C3A-4B5A-4FC9-8294-687D263993E1.png

最后是发现,后台在一些未知的区域 例如美国 返回的数据 会有些不同。导致我解析出现了问题。。。泪奔啊。。。后台还说过不会出现这种问题的啊。。。。。

==========
分析Crash 文件 还有另外的方法,这种最简单易行。操作以前有限制,必须是点钱电脑的打的包才行。
其他的方法 我在此也不讨论了。以后遇到再说吧

=========
题外话
iOS 10 之后权限一直要注意 在plist 用到的权限一定要声明

我在节前 提交了这个版本用到了日历,也没有声明。最气人的是在上传app store 过程中,也成功了。结果在itune connect 上怎么都不出来版本信息。
在高铁出发前的几个小时,才发现是 这个权限没有声明的问题。坑爹哦,适配还是很重要的啊

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 174,081评论 25 709
  • 本文就捕获iOS Crash、Crash日志组成、Crash日志符号化、异常信息解读、常见的Crash五部分介绍。...
    xukuangbo_阅读 1,606评论 0 0
  • 了解我一些的人都说我是个“老灵魂”。在一个还挺年轻的年龄就影只形单的拖着行李箱从合肥到北上四处上课,就为了寻找心中...
    惠行领导力教练阅读 390评论 5 3
  • 感觉关键词的提取还是比较困难,文章中心内容提炼能力欠缺
    冉瑶琳阅读 265评论 0 0
  • 本文参考整理了Coursera上由NTU的林轩田讲授的《机器学习技法》课程的第四章的内容,主要介绍了Soft-Ma...
    sonack阅读 11,064评论 1 6