关于iOS适配IPv6的方法

如果你的项目的网络请求是用的域名的话~可以跳过这个文章了。


如果你处于ipv6的网络下,发现你的app用不了那么你就需要做以下适配了
但是苹果已经对iOS9以上的系统做了适配,但是对于socket还是需要自己动手

关于ipv6的介绍

其实适配ipv6 就是判断当前网络是否处于ipv6的网络状态下 如果是的话就把ipv4的地址转换成ipv6的地址,这样就可以了.

假如我们的ipv4地址是 10.0.0.1 那么转换成ipv6就是 ::0A00:0001
转换方法如下
10.0.0.1 转换成16进制就是 0A.00.00.01
因为ipv6的分隔符是 : 而且ipv6是128位 所以变成了 ::0A00:0001 :: 表示前面96位都是0

这样我们得到了ipv6的地址 但是你会发现用不了这里就需要在地址前面加上64:FF9B 所以完整的地址是 64:FF9B::0A00:0001

ipv6 的 http url 格式跟 ipv4 的 http url格式有所不同需要注意
假如 ipv4 的 http url 是 http://10.0.0.1:8100/xxx.html
那么 ipv6 就是 http://[64:FF9B::0A00:0001]:8100/xxx.html
这里有详细的 ipv6 url 介绍

你可能感兴趣的:(关于iOS适配IPv6的方法)