Apple宣布推出适用于iOS 9和OSX 10.11 El Capitan的“App Transport Security”。 iOS 9的“What’s New in iOS”指南解释了:App Transport Security(ATS)允许应用向其添加声明 Info.plist文件,指定需要安全的域 通讯。 ATS防止意外泄露,提供安全保障 默认行为,很容易采用。你应该尽快采用ATS 尽可能,无论您是创建新的应用程序还是 更新现有的。
如果我们要删除或禁用ATS意味着我们只想使用HTTP,那么我们在.plist
文件中进行输入,如:
<key>NSAppTransportSecurity</key>
<dict>
<!--Include to allow all connections (DANGER)-->
<key>NSAllowsArbitraryLoads</key>
<true/>
</dict>
如果我们的域名是HTTPS,我们正在.plist
文件中输入,如:
<key>NSAppTransportSecurity</key>
<dict>
<key>NSExceptionDomains</key>
<dict>
<key>yourserver.com</key>
<dict>
<!--Include to allow subdomains-->
<key>NSIncludesSubdomains</key>
<true/>
<!--Include to allow HTTP requests-->
<key>NSTemporaryExceptionAllowsInsecureHTTPLoads</key>
<true/>
<!--Include to specify minimum TLS version-->
<key>NSTemporaryExceptionMinimumTLSVersion</key>
<string>TLSv1.1</string>
</dict>
</dict>
</dict>
问题是:
如果我的应用正在处理像HTTP这样的网络服务。我想使用HTTPS域,如谷歌地图或Facebook登录等。或者像一个网络服务的任何东西用于HTTPS域。
然后我们如何合并.plist
文件中的内容?
答案 0 :(得分:5)
如果您的应用(例如第三方网络浏览器)需要加载任意内容,Apple会提供一种完全禁用ATS的方法,但我怀疑您使用此功能是明智之举微:
完全停用ATS。只需在 Info.plist 文件中包含以下内容,然后在一个应用程序中使用HTTP
和HTTPS
<key>NSAppTransportSecurity</key>
<dict>
<!--Include to allow all connections (DANGER)-->
<key>NSAllowsArbitraryLoads</key>
<true/>
</dict>
希望这有帮助!
答案 1 :(得分:0)