iOS10适配ATS的问题

2016-12-12  本文已影响75人  petter102

OS 9中默认非HTTS的网络是被禁止的,当然我们也可以把NSAllowsArbitraryLoads设置为YES禁用ATS。不过iOS 10从2017年1月1日起苹果不允许我们通过这个方法跳过ATS,也就是说强制我们用HTTPS,如果不这样的话提交App可能会被拒绝。但是我们可以通过NSExceptionDomains来针对特定的域名开放HTTP可以容易通过审核。

1、首先需要后台兼容ssl

2、需要在info.plist中删除原有的兼容HTTPS的 App Transport Security Settings 中的 Allow Arbitrary Loads :YES 删除

3、然后添加例外NSExceptionDomains

添加的域名为字典类型的 每个字典类型下面的key有三种NSIncludesSubdomains、NSExceptionRequiresForwardSecrecy、NSExceptionAllowsInsecureHTTPLoads。全都是BOOL类型的

示例如下图阿里云的服务器。只需要设置域名。而不是子域名。

注意 !图片的域名如果是http的话也要添加例外的。要不然图片是加载不出来的。

Paste_Image.png

如有疑问欢迎交流。我会第一时间回复。

上一篇下一篇

猜你喜欢

热点阅读