苹果App Store 上架 IOS 程序关于IPv6审核问题

纯ipv6环境下是否能访问到你的服务,与服务器本身支不支持ipv6有没有ipv6地址无关,最好的办法请保证你的App(程序代码)本身兼容IPv6。支持 ipv6 是说你的应用在 ipv6 环境下也可用,而不是需要你的服务器处于 ipv6 下。

苹果AppStore审核人员在美国的IPv6-Only环境下对APP进行访问,提交App后,如果AppServer支持IPv6,则可直接访问。如果AppServer不支持IPv6,则通过DNS64+NAT64进行访问。如下图所示。

ipv4Andipv6NetworkWithDNS64NAT64_2x.png

 
由于大部分开发者的AppServer都是不支持IPv6直接访问的。所以,AppStore审核时,基本都是用NAT64+DNS64进行访问的。

DNS64+NAT64访问机制

DNS64:苹果AppStore审核的时候,要去 DNS 服务器查询AppServer的服务器的 IPv6 地址,然后进行访问。如果查询不到 IPv6 地址,会进而询问 IPv4 地址,然后苹果的网络会将查询到IPv4地址转换成IPv6的地址,返回给App客户端使用。如下图所示。

DNS64-ResolutionOfIPv4_2x.png

 
NAT64:苹果AppStore审核的时候,通过上一步获得IPv6的地址后,客户端App会直接访问IPv6 服务端的内容,或者通过NAT64的网关访问IPv4服务端的内容。如下图所示。

NAT64-Workflow_2x.png

 
总结

由此可以看出,苹果AppStore在做IPv6审核的时候,并不需要DNS或者服务器支持IPv6接入。IPv4环境下的DNS或者服务器地址会由苹果AppStore审核时的DNS64+NAT64转换为IPv6地址进行通信。
如果,APP在苹果进行IPv6审核时不通过,可能原因主要有两方面:

App本身不兼容IPv6。此时,最好的办法是让App本身兼容IPv6;
跨国网络问题导致苹果AppStore所在的网络在审核时连接不通国内的服务器。此时使用具有海外DNS BGP节点的域名解析服务器或海外线路的服务器即可。
 
据说,用电脑创建一个 ipv6 的热点, 手机连, 录屏,打开 app, 随便操作一会, 把视频发到 itunes 里面就过了。
 
注:天行数据的域名解析服务器是具有海外DNS BGP节点的
 
附:相关解决办法:
iOS 应用上架,必须支持 IPv6 线路访问,填坑之路亲测
解决App Store 上架 IOS 程序必须支持IPV6
APPStore上架应用支持IPV6的那些事
Ipv6_Only 简单的理解(已验证,项目已经上线)
AppStore IPv6-only审核被拒原因分析及解决方案-b
 

0 个评论

要回复文章请先登录注册