作为iOS开发猿,每次面临过审的心情都忐忑的。这个节前提交的新版本,结构节后来发现被拒了。
忧伤的一笔。
咋一看是IPV6 network 就知道是网络的问题。
继续往下看,发现了因为网络问题出现了Crash问题,之后反馈中带了Crash的文件。
看到有Crash 文件是text 格式的,这就很尴尬了。说好的 .Crash呢 怎么变成text了呢。
这边就需要转成了Crash格式的文件配合dsym 才能 转成我们可以读懂的符号集。
这边text文件中的内容,需要去掉头部和尾部附加的信息才能得到真正的 Crash文件
1E33F0E4-8282-4893-8A53-539E039A1EAD.png
从红线的地方开始复制
到 EOF 结尾
然后 新建一个文件 将内容复制改成Crash格式的文件
这边有个问题 ,我复制text里的文本信息改格式之后有很多多余的 \
换行符,这就很麻烦了。
于是,我就是Device log (后面会说明)中 随便找了一份 Crash文件,用文本编辑器打开,修改了内容QAQ。
现在分析Crash 最重要的Crash文件弄好了,在准备 dsym符号集和app的二进制文件放在一个文件夹里就可以了。
0AA8A92B-1DF6-4945-90C9-BBDD58249A3B.png符号集 和 二进制文件
我们可以打开 window -》 Organizer
找到当前的Crash 的版本 右击查看包内容
找到所需要的文件
当我们 准备好 需要的3个文件之后。
将Crash 文件拖到 device log 就会自动转化。 百度 的一些Crash 分析都是很老的文章,对应的Xcode 版本也是低版本。难免会造成一些误差。
这边我们打开 window -》 Deviece
选中 view Device Logs
4A1D1503-52D7-404B-8000-80D8418AC0DE.png然后将 Crash 文件 拖到其中,稍等片刻。就会出现 我们所需要的信息。
我们开看下我的分析后 Crash文件
最后是发现,后台在一些未知的区域 例如美国 返回的数据 会有些不同。导致我解析出现了问题。。。泪奔啊。。。后台还说过不会出现这种问题的啊。。。。。
==========
分析Crash 文件 还有另外的方法,这种最简单易行。操作以前有限制,必须是点钱电脑的打的包才行。
其他的方法 我在此也不讨论了。以后遇到再说吧
=========
题外话
iOS 10 之后权限一直要注意 在plist 用到的权限一定要声明
我在节前 提交了这个版本用到了日历,也没有声明。最气人的是在上传app store 过程中,也成功了。结果在itune connect 上怎么都不出来版本信息。
在高铁出发前的几个小时,才发现是 这个权限没有声明的问题。坑爹哦,适配还是很重要的啊
网友评论