在 iOS 的 webview 中添加 webRTC?

Add webRTC in webview in iOS?

我创建了一个聊天,但使用的是 webView。问题是聊天有 iOS 不支持的视频和语音,因为它不支持 webRTC。

主要问题是如何在 Swift 的 webView 中轻松添加 RTC 以支持 iOS 视频和语音?

不幸的是,iOS 网络浏览器目前支持 WebRTC,您无法轻松添加 WebRTC。您将不得不使用本机 iOS 库 (https://webrtc.org/native-code/ios/)。

自 iOS14.3(测试版)

A​​pple 正在 WKWebView 中添加对 WebRTC 的全面支持!

在此处了解更多信息:https://webkit.org/blog/11353/mediarecorder-api/

来自 iOS11+

A​​pple 已将对 WebRTC 的支持添加到 Safari
如果您想使用 WKWebView - 只有部分支持。 查看此答案:

WebRTC Support in iOS 11 - Explained

WKWebView 不支持 getUserMedia

此错误已在雷达中归档,这是 Apple 的错误跟踪系统:http://www.openradar.me/33571214

更新:不幸的是,此框架中仅支持麦克风


终于有办法了!

WKWebViewRTC 是 iOS 上 Swift 的 WKWebView 的全新 WebRTC 库,它的工作原理非常棒!

https://github.com/OpenTelecom/WKWebViewRTC

  1. 克隆存储库并构建框架

  2. 使用“嵌入并签名”设置向您的项目添加框架

  3. 在WKWebView初始化之后添加这行代码

     WKWebViewRTC(wkwebview: webView, contentController: controller)
    

这样 mediaDevices 和 getUsermedia 就可以使用了。

框架的最低 iOS 版本是 iOS 12。