美文网首页
iOS10适配ATS的问题

iOS10适配ATS的问题

作者: petter102 | 来源:发表于2016-12-12 17:04 被阅读75次

    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类型的

    • NSIncludesSubdomains是否允许子域名使用http YES 就是允许
    • NSExceptionRequiresForwardSecrecy 这个添加例外的话一般都是设置为NO 的看要不然也没有添加例外的必要了。
    • NSExceptionAllowsInsecureHTTPLoads 是否允许在HTTPS环境下使用http 添加HTTP类外当然YES

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

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

    Paste_Image.png

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

    相关文章

      网友评论

          本文标题:iOS10适配ATS的问题

          本文链接:https://www.haomeiwen.com/subject/togmmttx.html