【问题标题】:Add webRTC in webview in iOS?在 iOS 的 web 视图中添加 webRTC?
【发布时间】:2017-01-31 00:57:11
【问题描述】:

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

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

【问题讨论】:

标签: ios swift webview webrtc simplewebrtc


【解决方案1】:

从 iOS 14.3(测试版)开始

Apple 正在 WKWebView 中添加对 WebRTC 的全面支持! ?

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

来自iOS11+

Apple 已向 Safari 添加了对 WebRTC 的支持。
如果您想使用 WKWebView - 只有部分支持。 查看此答案:

WebRTC Support in iOS 11 - Explained

【讨论】:

  • WKWebView 仍然不支持 WebRTC,即使 Safari 支持
  • 它确实支持 一些 的功能,但不支持 getUserMedia()。在这里查看我的完整答案:stackoverflow.com/a/49467964/1047547
【解决方案2】:

更新:很遗憾,此框架仅支持麦克风


终于有办法了!

WKWebViewRTC 是一个全新的 WebRTC 库,适用于 iOS 上的 WKWebView for Swift,它的工作原理就像一个魅力!

https://github.com/OpenTelecom/WKWebViewRTC

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

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

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

     WKWebViewRTC(wkwebview: webView, contentController: controller)
    

这样可以使用 mediaDevices 和 getUsermedia。

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

【讨论】:

    【解决方案3】:

    WKWebView 不支持 getUserMedia

    此错误已在 Apple 的错误跟踪系统雷达中提交:http://www.openradar.me/33571214

    【讨论】:

      【解决方案4】:

      遗憾的是,iOS 网络浏览器目前支持 WebRTC,您无法轻松添加 WebRTC。您必须使用原生 iOS 库 (https://webrtc.org/native-code/ios/)。

      【讨论】:

      • 我认为这已经改变了。 iOS 11 的 WKWebView 支持 WebRTC :)
      • 不是WKWebView还是不支持WebRTC
      • @zaxy78 iOS 12 有什么消息吗?对于 getUserMedia
      • @zaxy78 它不起作用评论说“但是,调用 getUserMedia 失败并出现错误“SecurityError:操作不安全。”。我还没有设法解决它。“, Apple 上打开了一张 ID 为 29281220 的内部工单,以解决此问题(无法查看工单的链接)
      • iOS 13 会有什么变化吗?
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-04-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多