我有一个适用于iOS11(Beta)上的Safari的网址音频/视频工作正常。 但是当我用WKWebView加载这个URL时,它给了我一个错误"不兼容的浏览器"当我在WebKit中检查我的浏览器版本时,它会在iOS 11&#34上显示"基于WebKit的浏览器;
所以真正的问题是,Apple是否已将此更改包含在iOS 11的开发人员BETA的WKWebview webkit(应该与Safari相同)中?
答案 0 :(得分:22)
自iOS11以来,
在 Safari App 浏览器的 WKWebView ,完全支持 部分支持 。<强>解释强>
WebRTC有三个主要的JavaScript API:
对于在 Safari应用 iOS11 +中运行的应用,支持所有WebRTC API。这包括getUserMedia
。请务必使用 adapter.js 库以获得最佳兼容性,因为每个浏览器(包括Safari)都使用不同的名称进行实现。例如,在Safari中它是navigator.mediaDevices.getUserMedia()
。
但是,当使用 WKWebView 或 SFSafariViewController 时,情况就不同了:
RTCPeerConnection
和RTCDataChannel
并且正常工作。getUserMedia
为not supported yet。它很可能是won't be available before the next major OS release,即2018年9月的iOS 12。您仍然可以播放视频和视频。来自本地存储的音频或使用对等方捕获的实时媒体。希望在iOS 12中我们会看到一些进展......
答案 1 :(得分:7)
昨晚我在WebKit源代码中进行了一些挖掘,看起来WebRTC / MediaCapture的内容都是在一个只能通过私有API访问的首选项后面。还有一个提交提到了需要处理A / V权限的所有设置的应用程序。
无论如何,结果是getUserMedia在WKWebView中不起作用,即使在iOS11上(至少在beta4上):(
我已经提交了雷达(rdar:// 33571214和http://www.openradar.me/33571214),并鼓励其他人也这样做。
答案 2 :(得分:2)
我已经使用iOS Beta 4进行了一些测试,看起来甚至WKWebview和UIWebview也不支持将getUserMedia作为WebRTC API。
有人可以证实吗?