To iOS 10
2016 - 09 - 19
ATS的问题
iOS 9中默认非HTTS的网络是被禁止的,当然我们也可以把NSAllowsArbitraryLoads
设置为YES
禁用ATS
。不过iOS 10从2017年1月1日起苹果不允许我们通过这个方法跳过ATS
,也就是说强制我们用HTTPS
,如果不这样的话提交App可能会被拒绝。但是我们可以通过NSExceptionDomains
来针对特定的域名开放HTTP
可以容易通过审核。
NSExceptionDomains方式 设置域。可以简单理解成,把不支持https协议的接口设置成http的接口。
具体方法:
1)、在项目的info.plist中添加一个Key:App Transport Security Settings,类型为字典类型。
2)、然后给它添加一个Exception Domains,类型为字典类型;
3)、把需要的支持的域添加給Exception Domains。其中域作为Key,类型为字典类型。
4)、每个域下面需要设置3个属性:NSIncludesSubdomains、NSExceptionRequiresForwardSecrecy、NSExceptionAllowsInsecureHTTPLoads。
如图: