您的位置:首页 > 移动开发

iOS App对IPv6的支持

2016-08-10 09:37 211 查看
从2016年6月1号之后发布或更新App必须要支持IPv6。如果不支持IPv6,直接就会被拒。通过苹果官方文档上提供的方式配置IPv6网络,而后进行IPv6测试,应用跑的很溜,没有出现网络报错和请求慢的问题。

但当把App提交给苹果审核时,缺被拒了。而且被拒的理由竟然是:

We discovered one or more bugs in your app when reviewed on iPad and iPhone running iOS 9.3.3 on Wi-Fi connected to an IPv6 network.

还给发了截图,



通过截图可以看出来,明显是网络请求不通。

由于是二进制被拒,我们又仔细的按照苹果文档配置了IPv6网络环境,进行了各种网络类型测试,应用还是跑的很溜,没有显示错误和请求不通等问题。于是我们决定提交复审申请。

在经过一天的等待之后,发现复审又被拒了。看被拒原因,竟然还是因为IPv6测试不通过。

Thank you for your resubmission. However, we continue to find that your app prompts connection error messages during checkout when reviewed on iPad and iPhone running iOS 9.3.3 on Wi-Fi connected to an IPv6 network.

彻底懵逼了,这一切都是按照苹果文档说明的方法去做的,为啥还是被拒呢。

只能继续查问题所在,先了解IPV6吧。查询IPv6的维基百科。在IPv6和域名系统目录下,有这样的解释:

IPv6地址在域名系统中为执行正向解析表示为AAAA记录(所谓4A记录,类似的IPv4表示为A记录A records);反向解析在ip6.arpa(原先ip6.int)下进行,在这里地址空间为半字节16进制数字格式。

通过这个解释,简单的理解为,通过IPv6-Only从App发起的request到server,访问的是4A下解析的域名。可以通过toolbox测试App的域名在4A下是否有正确的域名解析。

通过这个dig的解析,发现我们的域名不支持4A解析。但通过与网络服务商沟通,现在国内大都不支持IPv6,所以不能进行4A记录解析。只能通过cname解析来弥补不能进行4A解析的缺陷了。进行过cname解析,再进行4A解析可以看到ANSWER下有解析值了。

再次提交复审,经过漫长的等待,终于通过了苹果的审核。

因为这里用了Google的dig服务,所以需要翻墙。

如果有问题可以进QQ群(295976280)讨论

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  IPv6 AAAA cname 审核