美文网首页
iOS10 ATS问题方案

iOS10 ATS问题方案

作者: ysCharles | 来源:发表于2017-03-08 09:48 被阅读272次

iOS 9中默认非 http 的网络是被禁止的,我们当时的做法是把App Transport Security Settings下的NSAllowsArbitraryLoads设置为 YES来禁用 ATS。虽有效 ,但过于粗暴,直接禁用了 ATS,违背了苹果爸爸的初衷,这估计也是苹果爸爸当时说要在17年元旦起不允许我们通过这个方法跳过 ATS 的原因。
虽然后来发文推迟执行这一决策,但是苹果爸爸的态度,却是比较明朗了。

虽然不能直接禁用 ATS,但是我们可以通过 NSExceptionDomains 来针对特定的域名开放 http 权限。
具体方案:

  1. 在项目中的info.plist中添加 Key:App Transport Security Settings,类型为字典类型。
  2. 然后给它添加一个 Exception Domains,类型为字典类型。
  3. 把需要支持的域添加到 Exception Domains 下,其中域作为 key,类型为字典类型。
  4. 每个域下设置三个属性:NSIncludesSubdomains(设置域下对应的子域名是否可用)、NSExceptionRequiresForwardSecrecy、NSExceptionAllowsInsecureHTTPLoads(设置是否允许不安全的 http)。
1.png

提示:系统中用到的所有非 https 的网络请求,都要进行设置。比如网络图片可能是放在三方托管服务器,只提供 http 访问,那么这个域也是必须要设置才能获取到图片的。

相关文章

  • iOS10 ATS问题方案

    iOS 9中默认非 http 的网络是被禁止的,我们当时的做法是把App Transport Security S...

  • iOS10 适配 ATS(app支持https通过App Sto

    iOS10 适配 ATS(app支持https通过App Store审核) iOS10 适配 ATS(app支持h...

  • iOS10 ATS 配置的一点思考

    iOS10 ATS 配置的一点思考 ATS 无法对 IP 地址进行限制 假设要调用的 api 为 /foo/bar...

  • iOS10适配ATS的问题

    OS 9中默认非HTTS的网络是被禁止的,当然我们也可以把NSAllowsArbitraryLoads设置为YES...

  • IOS10下的ATS问题

    最近IOS10更新之后,我的《微打卡》APP在调用微博API接口的时候,一直失败,提示以下错误: NSURLSes...

  • Xcode 8 beta版 && Xcode 8

    直奔主题iOS10关于ATS增强,因为项目只用到了UIwebView进行一些http请求,担心在iOS10中会带来...

  • iOS10 ATS https

    iOS 9中默认非HTTS的网络是被禁止的,当然我们也可以把NSAllowsArbitraryLoads设置为YE...

  • ios10切换到https注意事项

    ios10对https的要求有点严格,比如必须要TLS1.2以及以上的版本才可以。nscurl --ats-dia...

  • ATS的问题

    iOS 9中默认非HTTS的网络是被禁止的,当然我们也可以把NSAllowsArbitraryLoads设置为YE...

  • 关于ATS问题

    ATS (App Transport Security) WWDC2016中苹果官方提到,从2017年1月1日起,...

网友评论

      本文标题:iOS10 ATS问题方案

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