Apple官方近期发布了关于IPv6-only网络环境兼容的APP审核要求,详情参见:
关于IPv6-only相关技术细节参见Apple官方文档:
Apple官方人员关于IPv6-only审核的要求说明详见社区链接:
当前阿里云移动服务全系列产品,包括移动推送、移动数据分析、HTTPDNS、移动加速、移动存储(OSS)等均已兼容IPv6-only网络环境。根据Apple官方人员的社区回复,最新的审核标准为“APP在最新的iOS系统版本上是否兼容IPv6-only网络环境”(仅作参考,请以Apple官方说明为准),而iOS9.0版本以上的官方网络库会自动转换IPv4地址以适配IPv6-only网络环境,因此本次更新的升级建议如下:
- 使用移动加速的开发者请及时更新SDK,老板移动加速将不支持IPv6-only网络环境;
- 使用HTTPDNS的开发者请确认在通过HTTPDNS解析IP后是否使用了官网网络库进行网络请求。若是,您无需做任何变更。若不是,您可以通过升级HTTPDNS SDK的方式适配IPv6-only网络环境;
- 使用其他移动服务的开发者,您可自主选择是否升级对应的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地址使用方式略有不同:
- IPv4: http://1.1.1.1/path
- IPv6: http://[2001:db8:c000:221::]/path
即在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