posts - 232,  comments - 527,  trackbacks - 0

    自从今年苹果强制新上架的APP 必须支持Ipv6,很多原来需要网络支持的APP 就没法上架了。

别的我们就不说了,先说说kbmmw 中,如何解决这个问题。

要测试你的app 是否支持ipv6, 首先要搭建IPv6 的测试环境,最简单的方法就是利用mac 来生成一个

共享的虚拟Ipv6 网络。具体搭建的方法参考此篇博文:

http://www.cocoachina.com/ios/20160525/16431.html

剩下的就是在你的APP 里面,是否可以通过这个网络访问远程服务器?如果没问题,就OK 了。

由于使用IPv6 访问远程服务器,那么就不能使用IPv4 的IP 地址访问服务器了,因此不管你的服务器运行在

什么环境下,请使用域名访问远程服务器!

Kbmmw 的的默认网络访问组件式indy.其实D10.1 带的Indy是支持IPv6 的。但是kbmmw 封装客户端Indy

时却没有考虑IPv6,导致了默认无法支持IPv6. 那么我们要解决的就是让TkbmMWTCPIPIndyClientTransport

支持IPv6.

我们来修改一下TkbmMWTCPIPIndyClientTransport 的父类及对应的函数。

当然还有其他一些对应部分的修改。

 

修改完后。kbmmw 客户端 就可以支持IOS 上通过Ipv6 访问了。

 

使用 IPv4 访问,表示无法连接

 
使用IPv6,正常访问