5 月 4 日,苹果宣布了一项新规:自 6 月 1 日起,所有应用必须支持 IPv6-only 网络。苹果称,早在 2015 年的苹果全球开发者大会上,苹果就提出要向 IPv6-only 网络服务进行过渡,并提供了支持 IPv6 的 API:NSURLSession 和 CFNetwork。所以大部分应用不需要做出修改。
来自 Hacker News 的网友们对苹果的这一行为展开了热烈的讨论,连标题的含义都细细琢磨,甚至另外提出了一个标题“苹果禁止应用只支持 IPv4 ”来帮助大家理解。他们对苹果的这一行为表示了支持,同时也对 IPv6 在推广过程中遇到的阻碍表示担心。
对于开发者来说,最值得关注的事情无疑是自己的应用是否符合苹果的这一新规。stackoverflow 的网友“dgatwood”对如何快速判断应用是否支持 IPv6,列出了以下问题:
- 是否直接使用了 IP 地址?
- 是否允许用户以除了 URL 之外的某些形式直接输入地址?
- 是否使用了不是基于 NSURL 的 API?
- 是否因某些原因直接进行了 DNS 查找?
dgatwood 认为,针对这些问题,如果你的应用所给的答案都是“否”,那么就不用为了支持 IPv6 再做出什么改变了。另外,他建议使用 AFN 3.0 及以上版本的网络框架。
还在使用 ASI 的开发者要小心了,虽然它现在仍可能可以正常使用,但由于 ASI 早就停止了更新,它并不适合 iOS 9,所以 stackoverflow 的网友认为,不应使用这种停止更新的框架。
众所周知,随着互联网的快速发展,IPv4 被IPv6 取代早已成为必然趋势。然而,由于多方面的原因,IPv6 的推广并不是十分顺利。苹果的这一行为无疑是力挺IPv6,加速了其取代IPv4 的步伐。
感谢徐川对本文的审校。
给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ , @丁晓昀),微信(微信号: InfoQChina )关注我们。
评论