iOS 上线因iPv6被拒,查询服务器是否支持iPv6,mac设置iPv6网络,手机测试iPv6

时间:2023-03-08 16:44:53
iOS 上线因iPv6被拒,查询服务器是否支持iPv6,mac设置iPv6网络,手机测试iPv6

一、 iOS----如何检查域名是否支持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等价物也被处理。

iOS 上线因iPv6被拒,查询服务器是否支持iPv6,mac设置iPv6网络,手机测试iPv6
IPv4-IPv6

操作步骤
1.首先确保你的Mac是通过网线连接到网络的而不是WiFi。

2.在设置中找到共享。按住选项键时间点击共享按钮进入界面才会出现“创建NAT 64网络”的勾选框。

iOS 上线因iPv6被拒,查询服务器是否支持iPv6,mac设置iPv6网络,手机测试iPv6
创建NAT 64网络

3.选择共享互联网共享Wi-Fi,选中“创建NAT64网络”的复选框,点击Wi-Fi选项按钮进行Wi-Fi相关配置。

iOS 上线因iPv6被拒,查询服务器是否支持iPv6,mac设置iPv6网络,手机测试iPv6
Wi-Fi配置
iOS 上线因iPv6被拒,查询服务器是否支持iPv6,mac设置iPv6网络,手机测试iPv6
Wi-Fi配置

可以通过手机中的Wi-Fi信息看到连上的Wi-Fi是否是IPv6,注意此时要把iPhone设成飞行模式,以保证只用Wi-Fi上网。
查看DNS中是以下:分割还是。分解。如果是“:”说明连上是IPv6,反之则是IPv4

iOS 上线因iPv6被拒,查询服务器是否支持iPv6,mac设置iPv6网络,手机测试iPv6
iPhone网络查看

参考资料:

支持IPv6 DNS64 / NAT64网络