苹果于2016年5月4日告知开发者应用需要在6月1日前支持IPv6-only,也就是说在 6 月 1 日后发布的新版本是需要支持 IPv6-only.
原文地址:https://developer.apple.com/news/?id=05042016a
适配支持方案
不要使用硬编码的IPv4的地址,取而代之应该使用域名;
搜一下是否有用到下面的这些API,这些API都是只针对IPv4做处理的,删除掉就可以:
inet_addr()
inet_aton()
inet_lnaof()
inet_makeaddr()
inet_netof()
inet_network()
inet_ntoa()
inet_ntoa_r()
bindresvport()
getipv4sourcefilter()
setipv4sourcefilter()
如果项目中用到了以下的IPv4的类型,那么也要支持相应的IPv6类型
如果强制需要使用IPv4的地址,苹果官方的适配方法给出了解决方式。Use System APIs to Synthesize IPv6 Addresses
材料:
首先需要准备Mac一台
iphone2部(其中一部用于测试你的项目,请装上你的应用)
连接线一根
1、 通过数据线连接iphone和mac
2、打开iphone的个人热点并选择仅USB(如果没有选项,请关闭手机连接的Wi-Fi,用手机自己的移动网络)