移动服务全系列产品全面兼容IPv6-only网络环境

Apple官方近期发布了关于IPv6-only网络环境兼容的APP审核要求,详情参见:

https://developer.apple.com/news/?id=05042016a

关于IPv6-only相关技术细节参见Apple官方文档:

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

Apple官方人员关于IPv6-only审核的要求说明详见社区链接:

https://forums.developer.apple.com/message/136166#136166

当前阿里云移动服务全系列产品,包括移动推送、移动数据分析、HTTPDNS、移动加速、移动存储(OSS)等均已兼容IPv6-only网络环境。根据Apple官方人员的[社区回复](https://forums.developer.apple.com/message/136166#136166
),最新的审核标准为“APP在最新的iOS系统版本上是否兼容IPv6-only网络环境”(仅作参考,请以Apple官方说明为准),而iOS9.0版本以上的官方网络库会自动转换IPv4地址以适配IPv6-only网络环境,因此本次更新的升级建议如下:

  1. 使用移动加速的开发者请及时更新SDK,老板移动加速将不支持IPv6-only网络环境;
  2. 使用HTTPDNS的开发者请确认在通过HTTPDNS解析IP后是否使用了官网网络库进行网络请求。若是,您无需做任何变更。若不是,您可以通过升级HTTPDNS SDK的方式适配IPv6-only网络环境;
  3. 使用其他移动服务的开发者,您可自主选择是否升级对应的SDK。这部分服务的旧版本SDK可兼容上述供参考的审核规范;

由于Apple并未正式放出相关审核标准文档,我们依然建议各位开发者及时升级相关移动服务的SDK。

关于IPv6-only网络环境的模拟适配测试可参考Apple技术文档

注:

HTTPDNS场景下兼容IPv6-only网络环境需要注意的细节:

在iOS9.0以上系统中,如果您使用系统网络库如NSURLSession,系统网络库会自动进行IP格式转换适配IPv6-only网络,因此您不需要做任何更改即可适配IPv6-only网络环境。在9.0版本以下的系统中,HTTPDNS为您完成了IP地址的转换工作,但您需要按照下文所述的方式合理使用HTTPDNS。

当您使用IP形式的URL进行网络请求时,IPv4与IPv6的IP地址使用方式略有不同:

即在URL中使用IPv6地址时需要在IPv6地址基础上额外加上[]。为了方便开发者的使用,HTTPDNS提供了适配URL格式的IP获取接口getIpByHostInURLFormat/getIpByHostAsyncInURLFormat。当您通过HTTPDNS进行IP获取,并使用该IP进行基于URL的网络访问时,您可以通过上述API直接获取符合URL使用场景,格式化后的IP信息,如1.1.1.1/[2001:db8:c000:221::]。如果您仅仅为了获取精准的IP信息并另做它用,您可以继续使用老接口getIpByHost/getIpByHostAsync

详情参见HTTPDNS SDK使用文档

Android:https://help.aliyun.com/document_detail/30140.html?spm=5176.product9173596_30100.6.126.HDJOkL

iOS: https://help.aliyun.com/document_detail/30141.html?spm=5176.doc30140.6.127.3YsjQ3

上一篇:[Sharepoint2007对象模型]第二回:Web应用程序服务(SPWebService)


下一篇:使用RestSharp 库消费Restful Service