iOS 适配IPv6

最近一直看到有人说app因为没有适配IPv6而被拒的,可是我的app却什么都没做也没有被拒,闲来无事看了看原因。

一、简单测试

首先,你先搭建一个IPv6的本地热点环境,如果通过这个热点环境你的app可以正常访问,那问题应该不大,如果出现bug那审核肯定是过不了的。

和平时创建热点的方法基本一样,只有这里要按住option键,然后点击sharing,这样在接下来的页面会出现Create NAT64 NETWORK 然后选中它  这样创建出来的热点就是带有IPv6的热点。

iOS 适配IPv6_第1张图片

iOS 适配IPv6_第2张图片

iOS 适配IPv6_第3张图片

我测试了下,我的app是可以正常访问的,因为我的app用的是AFN网络请求,虽然还是2.0版本,但是对于审核来说是够了,因为苹果的审核团队暂时还不会检测你的app是否包含只支持IPv4的API,但是为了安全起见,还是需要你做适配。

二、如何适配IPv6

1.使用高版本的网络框架,因为高版本的网络框架适配IPv6已经帮我们实现了,底层的框架适配起来容易产生bug,但是如果确实需要底层的API,那就只能自己研究如何适配啦(我暂时不知道,哈哈)。

iOS 适配IPv6_第4张图片

2.不要用IP地址,用域名

3.使用足够大的存储容器,以至于可以放得下IPv6地址

4.检查源码是否兼容IPv4和IPv6

inet_addr()

inet_aton()

inet_lnaof()

inet_makeaddr()

inet_netof()

inet_network()

inet_ntoa()

inet_ntoa_r()

bindresvport()

getipv4sourcefilter()

setipv4sourcefilter()

iOS 适配IPv6_第5张图片


参考网址:

官网适配IPv6

App Rejected with iOS IPv6 network

你可能感兴趣的:(iOS 适配IPv6)