为什么我在 iOS 9 上的 WKWebView 中的音频流没有播放?

Why is my audio stream in WKWebView on iOS 9 not playing?

我有一个 WKWebView,其内容有一个 <audio> 元素指向标准音频流 运行 在将无法播放的 Shoutcast 服务器上。 JavaScript 控制台中没有错误或信息,Xcode 中的调试器也没有错误。

问题原来是App Transport Security。 iOS 9 中的这一新安全功能悄悄地阻止了 <audio> 元素连接到不安全的音频流。通过将此添加到我的 info.plist 允许任意加载解决了问题:

<key>NSAppTransportSecurity</key>
<dict>
    <key>NSAllowsArbitraryLoads</key>
    <true/>
</dict>

如果某些 <audio> 的问题仍然存在,请将 js 中的“touchstart click”事件替换为“touchend click

查看此link了解更多详情

我将其添加到 App Transport Security Settings plist 中,它解决了我的问题:

<key>NSAllowsArbitraryLoadsForMedia</key>
    <true/>