iOS开发技术分享iOS DeveloperiOS开发技术分享

ios9 应用传输安全:ATS

2015-10-22  本文已影响255人  devchena

苹果在 iOS 9 中引入了应用传输安全功能,它默认需要所有的应用使用 HTTPS 协议。由于不是所有的服务都由 HTTPS 提供,因此苹果还提供了一个禁用 ATS 的方式,既可选择性的使用也可全局应用。

如果您的应用需要能够加载所有的 URL(比如说在 UIWebview中),那么您可能需要通过设置NSAllowsArbitraryLoads 键值为 YES 来全局禁用 ATS。这完全是可以的,但是一旦您全局禁用了 ATS 功能,那么您需要在重要区域启用 ATS 服务。您需要使用 NSExceptionDomains 键来完成此项功能。

Info.plist

您可以看到,我们支持用户通过 HTTP 下载文件,但是我们同样也支持通过 HTTPS 来连接 workflow.is(以及所有 Workflow 使用的 API )。

还需要注意的是,每一个包都需要应用 ATS 功能。这意味着您不仅需要给您主应用的 Info.plist 文件添加 ATS 字典,而且还要同时给扩展的 Info.plist 文件添加。

在info.plist的NSAppTransportSecurity下新增NSAllowsArbitraryLoads并设置为YES,指定所有HTTP连接都可正常请求。

另外一种方式:
在info.plist的NSAppTransportSecurity下新增NSAllowsArbitraryLoads并设置为YES,指定所有HTTP连接都可正常请求(右键info.plist用source code打开):

<key>NSAppTransportSecurity</key>
<dict>
    <key>NSAllowsArbitraryLoads</key>
    <true/>
</dict>
上一篇下一篇

猜你喜欢

热点阅读