我已经阅读了很多关于Apple的App Transport安全策略,允许的内容和不允许的内容。
我使用javascript来请求视频数据并在html5视频标签中阅读视频。 我什么时候可以使用https,但并不总是可行。
在iOS 9中我曾经启用“允许任意负载”并且每件事都很好。 使用iOS 10时,此设置不再可用,我们可以在WKWebView中使用“允许Web内容中的任意加载”。
这应该是我的解决方案,但似乎这不允许通过http加载html5视频。
这是我到目前为止所尝试的:
所有这些设置都在我的应用程序的info.plist文件中设置,在字典中:
<key>NSAppTransportSecurity</key>
<dict>
...
</dict>
任意加载:
<key>NSAllowsArbitraryLoads</key>
<true/>
这仅适用于iOS9,而不适用于iOS 10。
网络视图中的任意加载
<key>NSAllowsArbitraryLoadsInWebContent</key>
<true/>
这将启用WKWebView中的所有其他http请求,但不启用视频内容。
手动设置例外域
<key>NSExceptionDomains</key>
<dict>
<key>www.thedomain.com</key>
<dict>
<key>NSIncludesSubdomains</key>
<true/>
<key>NSTemporaryExceptionAllowsInsecureHTTPLoads</key>
<true/>
</dict>
</dict>
这适用于并允许加载视频。现在我在开发过程中使用它,但它不合适,因为我需要在不知道它们的情况下从多个域加载视频。
媒体中的任意加载
<key>NSAllowsArbitraryLoadsInMedia</key>
<true/>
我不确定这个设置是做什么的。但使用它并没有改变任何内容,仍然不允许使用http视频内容。
所以我在这里被困住了。 你做过那样的测试了吗?你有同样的经历吗? 更重要的是你知道我应该尝试的任何解决方案吗?