Включить поддержку WebRTC в WKWebView/UIWebView

Я разрабатываю флаттер-приложение с использованием WebRTC в webview . На Android он работает, как и ожидалось, но сталкивается с проблемами при сборке iOS. Я прочитал темы Служба поддержки Apple и Тема SO.

Оба потока утверждают, что WebRTC не разрешен в веб-просмотре iOS. Я протестировал свой код в эмуляторе/реальном устройстве, но безуспешно.

Итак, мой вопрос: кто-нибудь знает, как запустить WebRTC в веб-просмотре iOS?

Вот как я показываю веб-просмотр

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);
                }
            );

Ваша проблема уже открыта в проекте Inappwebview git. Вы можете отслеживать ее,github.com/pichillilorenzo/flutter_inappwebview/issues/‌​200

Shirsh Shukla 21.12.2020 16:45
10
1
6 184
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

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

Вам необходимо обновить iOS на телефоне и/или Xcode 12.3.

Кроме того, в зависимости от вашего плагина веб-просмотра (в моем случае я использую cordova-plugin-inappbrowser) может потребоваться изменить его, чтобы добавить разрешения для видео, камеры и VoIP.

Я управляю устройством с iOS 14.3. Я использую разработку флаттера, поэтому не могу сначала попробовать плагин Cordova. И, пожалуйста, добавьте справочный/примерный код использования кордовы.

Faiizii Awan 21.12.2020 07:26

iOS 14.3 включила доступ через webrtc. и это работает. будущий читатель может проверить функциональность из перечисленных примеров webrtc.github.io/samples, запустив их в браузере iOS Safari.

Faiizii Awan 22.12.2020 11:59

@FaiiziiAwan вам удалось запустить свое приложение на устройстве iOS (iOS 14.3 и/или выше)?

umutcanturan 25.04.2021 16:19

Я был удивлен, увидев, что WebRTC хорошо работает на IOS с использованием Chrome и Firefox, а также на IpadOS (Chrome/Firefox). Эта совместимость тоже из-за IOS 14.3? Потому что я пока не вижу ни объявления, ни обновления таблицы совместимости WebRTC.

oanfr 01.08.2021 21:44

Другие вопросы по теме