实际上苹果对应用的ATS是分等级控制,可以全局关闭ATS限制,也可对Webview访问资源关闭ATS限制,也可对特定的域名进行ATS策略控制(指定特定域名不受ATS限制),详情可参考网上资料(http://www.jianshu.com/p/36ddc5b009a7)。
为了避免关闭ATS限制导致应用无法通过审核的问题,HBuilder云端打包将调整默认策略为开启ATS限制(Alpha打包机从2016-12-29日开始,正式打包机计划从2017-1-1日开始),并添加以下配置策略:
1. 关闭通过webview 发出的网络请求的ATS限制(Webview对象可以访问http资源);
2. 关闭载入任意本地资源ATS限制(第三方SDK访问本地资源)。
调整默认配置后对普通5+应用运行不会有影响,在Webview中仍然可以访问http资源,但是以下5+ API请求的服务器地址必需符合ATS规范(使用https),影响的模块如下:
1. Downloader(文件下载),影响API范围:plus.downloader.;
2. Uploader(文件上传),影响API范围:plus.uploader.;
3. XMLHtttpRequest(跨域网络连接),影响API:plus.new.XMLHttpRequest。
如果应用中使用了以上5+ API访问非https服务器地址,将会导致无法正常工作,推荐将服务器地址修改为https来解决,也可以使用下面的指定特定域名关闭ATS限制方法来配置允许http访问特定域名。
如果应用需要自定义ATS策略,可通过以下方法修改:
设置全局关闭ATS限制
在manifest.json的“plus->distribute->apple”节点下添加plistcmds数据如下:
如果应用完全支持https,可使用以下方法设置Webview开启ATS限制及载入本地资源ATS限制
对于服务器已经完全支持https的应用,推荐配置这种策略,可确保应用通讯的数据安全。
在manifest.json的“plus->distribute->apple”节点下添加plistcmds数据如下:
指定特定域名关闭ATS限制
特定域名关闭ATS限制后可以通过http访问服务器,可能需要开发者提交App tore审查时说明原因。
在manifest.json的“plus->distribute->apple”节点下添加plistcmds数据如下: