ios app 支持 ipv6-only

最近苹果公司发布声明:自今年6月1日开始,所有提交至苹果App Store的应用申请必须要兼容面向硬件识别和网络路由的最新互联网协议--IPv6-only标准。

那么问题来了,目前的app是否支持ipv6? ,哪些需要支持ipv6?

 

一:测试你的app目前是否支持ipv6,如果不支持6月1以后将无法提交到商店

这里有一份wwdc2015关于ipv6的视频https://developer.apple.com/videos/play/wwdc2015/719/

利用mac分享一个ipv6的网络即可测试

首先你的mac需要有两块网卡,我测试用的是 mbp,使用有线上网,使用wifi网卡分享网络

1. 打开系统偏好设置----按住Option键------点击,分享

 

2. 同样按住 Option键----勾选左侧的 互联网分享----右边来源---选择本地以太网-----共享端口选择 wifi; 下面有个NAT64网络,选项,勾选上;即可;

    即可创建一个ipv6的网络,测试机连接该网络,测试app的通讯情况;

ios app 支持 ipv6-only_第1张图片

 

二:当前app是否需要支持ipv6

如图苹果文档上说明的;

也就是说使用苹果提供的高级网络编程api,不需要处理;如:NSURlsession,CFnetwork,NSURlconnection等;webkit等

但是使用低层socket的需要去支持 ipv6;

ios app 支持 ipv6-only_第2张图片

 

以及使用如下 接口的都需要

  • inet_addr()

  • inet_aton()

  • inet_lnaof()

  • inet_makeaddr()

  • inet_netof()

  • inet_network()

  • inet_ntoa()

  • inet_ntoa_r()

  • bindresvport()

  • getipv4sourcefilter()

  • setipv4sourcefilter()

 

参考:https://developer.apple.com/library/mac/documentation/NetworkingInternetWeb/Conceptual/NetworkingOverview/UnderstandingandPreparingfortheIPv6Transition/UnderstandingandPreparingfortheIPv6Transition.html#//apple_ref/doc/uid/TP40010220-CH213-SW1

你可能感兴趣的:(ios app 支持 ipv6-only)