iOS 上线因iPv6被拒,查询服务器是否支持iPv6,mac设置iPv6网络,手机测试iPv6
iOS----------如何检查域名是否支持ipv6
1.检查你所用到的库,像af 3.0以上什么的(不用改),其他的库自己去搜下是否支持ipv6吧。
2.确保你用的sdk支持ipv6,这个自己去看文档就行。
3.终端 dig +nocmd + nostats 你的域名 AAAA 这是看看你们的服务器在ipv6下是否有回应。(这是别人教我的,非常感谢)
这个是简书的,看那 IN A 那是ipv4 , 那Got answer 有个status:NO ERROR ,一般status是no error 就没问题。 这个也可以去看看近期上线的项目它们的服务器。
有错的话,对应下面的表:
像我们的dns 有问题, status 就是 第三个。。。
结论:只要用的库支持,然后sdk其他没问题的话,在mac搭建的ipv6下没问题的话,基本跟我们iOS 前端没啥关系,大多都是服务器的关系。
二、6月1日起所有iOS应用必须支持IPv6-only网络
“在WWDC2015上,我们宣布iOS9开始向仅IPv6网络服务过渡。2016年6月1日起,开发者所有提交至AppStore的应用必须支持IPv6仅网络由于大部分现有应用程序已经通过NSURLSession和CFNetworkAPIs兼容该协议,因此这些应用无需做出调整。如果你依然使用IPv4API的或者硬件编码IP地址,那么你需要手动调整应用代码来适应新变化。
检查不兼容IPv6的代码
检查IPv6 DNS64 / NAT64的源代码不兼容性
检查和消除IPv4特定的API,例如:
inet_addr()
inet_lnaof()
inet_makeaddr()
inet_netof()
inet_network
()
inet_ntoa()
inet_ntoa_r()
bindresvport()
getipv4sourcefilter()
setipv4sourcefilter()
如果用到了下面左边的这些IPv4的类型,那么它们相应的IPv6类型也需要做处理
如果您的代码处理IPv4类型,请确保IPv6等价物也被处理。
操作步骤
1.首先确保你的Mac是通过网线连接到网络的而不是WiFi。
2.在设置中找到共享。按住选项键时间点击共享按钮进入界面才会出现“创建NAT 64网络”的勾选框。
3.选择共享互联网共享Wi-Fi,选中“创建NAT64网络”的复选框,点击Wi-Fi选项按钮进行Wi-Fi相关配置。
可以通过手机中的Wi-Fi信息看到连上的Wi-Fi是否是IPv6,注意此时要把iPhone设成飞行模式,以保证只用Wi-Fi上网。
查看DNS中是以下:分割还是。分解。如果是“:”说明连上是IPv6,反之则是IPv4
参考资料: