在 WKWebView/UIWebView 中启用 WebRTC 支持

Enable WebRTC Support in WKWebView/UIWebView

我正在 webview. On android, it is working as expected, but facing issues on iOS build. I have read the threads Apple Support and SO Thread.

中使用 WebRTC 开发一个 flutter 应用程序

两个线程状态,iOS webview 中不允许 WebRTC。我在 emulator/real-device 中测试了我的代码,但没有成功。

所以,我的问题是有人知道如何在 iOS webview 中 运行 WebRTC 吗?

这就是我显示网络视图的方式

InAppWebView(
                initialUrl: widget.callType == AppConstant.INCOMING ? incomingUrl : outGoingUrl,
                initialOptions: InAppWebViewGroupOptions(
                  crossPlatform: InAppWebViewOptions(
                      mediaPlaybackRequiresUserGesture: false,
                      debuggingEnabled: true,
                      clearCache: true,
                      javaScriptEnabled: true,
                      preferredContentMode: UserPreferredContentMode.MOBILE
                  ),
                ),
                onWebViewCreated: (InAppWebViewController controller) {
                  //web view created
                },
                androidOnPermissionRequest: (InAppWebViewController controller, String origin, List<String> resources) async {
                  print('resource list : ${resources.toString()}');
                  return PermissionRequestResponse(resources: resources, action: PermissionRequestResponseAction.GRANT);
                }
            );

ios Webview 和 WKWebView 直到现在才支持 WebRTC。

从 ios 14.3 ios 开始提供对 WKWebView 的支持: https://leemartin.medium.com/ios-14-3-brings-webrtc-to-wkwebview-closing-gap-on-ios-accessibility-90a83fa6bda2

您需要在 phone and/or Xcode 12.3.

中更新 iOS

此外,根据您的 webview 插件(在我的例子中我使用的是 cordova-plugin-inappbrowser),可能需要修改它以添加视频、相机和 VoIP 的权限。