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

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

iOS开发--一次未过审的Crash分析_第1张图片
4A20A4B7-37DA-4C6A-AFF9-D4B082F5171F.png

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

iOS开发--一次未过审的Crash分析_第2张图片
EE6F2FF0-5A63-4EDF-8753-7E07408C941A.png

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

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


iOS开发--一次未过审的Crash分析_第3张图片
1E33F0E4-8282-4893-8A53-539E039A1EAD.png

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

iOS开发--一次未过审的Crash分析_第4张图片
BE83C187-3B07-4B11-8997-4C66CC76BD65.png

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

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

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

iOS开发--一次未过审的Crash分析_第5张图片
0AA8A92B-1DF6-4945-90C9-BBDD58249A3B.png

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

iOS开发--一次未过审的Crash分析_第6张图片
932E1A51-7DFB-42B2-9AE0-A2EA890A5D51.png

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

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

iOS开发--一次未过审的Crash分析_第7张图片
1964A0BA-731F-4A56-8833-A7BBBC4B1742.png

选中 view Device Logs

iOS开发--一次未过审的Crash分析_第8张图片
4A1D1503-52D7-404B-8000-80D8418AC0DE.png

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

iOS开发--一次未过审的Crash分析_第9张图片
4D2F3C3A-4B5A-4FC9-8294-687D263993E1.png

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

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

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

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

你可能感兴趣的:(iOS开发--一次未过审的Crash分析)