从 2017 年 1 月 1 日起,所有的新提交 app 默认是不允许使用 NSAllowsArbitraryLoads 来绕过 ATS 限制的,也就是说,我们最好保证 app 的所有网络请求都是 HTTPS 加密的,否则可能会在应用审核时遇到麻烦。但是我们可以通过NSExceptionDomains来针对特定的域名开放HTTP可以容易通过审核。)
开发者可以针对某些确定的URL不使用ATS,这需要在工程中的info.plist中标记NSExceptionDomains。在NSExceptionDomains字典中,可以显式的指定一些不使用ATS的URL。这些你可以使用的例子可以是:
NSIncludesSubdomains
NSExceptionRequiresForwardSecrecy
NSExceptionAllowInsecureHTTPLoads
上图中的“combplus.h5-legend.com”、“h5legend.baidu.com”的域名是后台利用百度h5生成的h5链接,如:http://combplus.h5-legend.com/h5/cc0326dc-1c2c-e5d0-b041-9a193e42a994.html,这个链接不是https的,而且这个h5也不是存放在我们公司的服务器,而是存放在百度服务器,我们无法将其设置为https格式,所以要让app内部能够访问这个h5就必须将其域名加入ExceptionDomains。