在iOS 10上的WKWebView中播放HTTP视频

时间:2016-10-27 15:10:02

标签: ios html5-video ios10 wkwebview app-transport-security

我已经阅读了很多关于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视频内容。

所以我在这里被困住了。 你做过那样的测试了吗?你有同样的经历吗? 更重要的是你知道我应该尝试的任何解决方案吗?

0 个答案:

没有答案