【发布时间】:2017-02-26 09:03:40
【问题描述】:
我正在尝试处理 Apple 对 Codename One 的 http 限制。
根据 iOS Cocoa 密钥文档,NSAllowsArbitraryLoadsInWebContent 将按照以下说明在 iOS 10 上运行:
仅适用于要加载的内容的可选布尔值 进入以下类的实例:
WKWebView
UIWebView(仅限 iOS)
WebView(仅限 macOS)
将此键的值设置为 YES 以获得对 ATS 政策的豁免 您的应用程序的 Web 视图,而不会影响 ATS 规定的安全性 你的 NSURLSession 连接。
默认值为 NO。
要支持旧版本的 iOS 和 macOS,您可以使用此键 并且仍然手动配置 ATS。为此,将此键的值设置为 YES 并配置 NSAllowsArbitraryLoads 子键。
如果您将此键添加到您的 Info.plist 文件中,那么,无论 键的值,ATS 忽略 NSAllowsArbitraryLoads 的值 钥匙。从 iOS 10.0 和 macOS 10.12 开始提供。
我的第一个问题是:
BrowserComponent 会暴露 WKWebView 还是 UIWebView?在这种情况下,有问题的 Cocoa 密钥将起作用,并允许我避免 iOS 10 的危险 NSAllowsArbitraryLoads。
第二个问题:
为确保与早期版本的兼容性,我知道我应该这样做:
将 NSAllowsArbitraryLoads 设置为 true(由于以下几点,这将在 iOS 10 中被忽略)。
将 NSAllowsArbitraryLoadsInWebContent 设置为 true(这在 iOS 9 中将被忽略,将使用 NSAllowsArbitraryLoads)。
我说的对吗?
谢谢
【问题讨论】:
标签: plist codenameone