Я разрабатываю флаттер-приложение с использованием 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);
}
);
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. И, пожалуйста, добавьте справочный/примерный код использования кордовы.
iOS 14.3 включила доступ через webrtc. и это работает. будущий читатель может проверить функциональность из перечисленных примеров webrtc.github.io/samples, запустив их в браузере iOS Safari.
@FaiiziiAwan вам удалось запустить свое приложение на устройстве iOS (iOS 14.3 и/или выше)?
Я был удивлен, увидев, что WebRTC хорошо работает на IOS с использованием Chrome и Firefox, а также на IpadOS (Chrome/Firefox). Эта совместимость тоже из-за IOS 14.3? Потому что я пока не вижу ни объявления, ни обновления таблицы совместимости WebRTC.
Ваша проблема уже открыта в проекте Inappwebview git. Вы можете отслеживать ее,github.com/pichillilorenzo/flutter_inappwebview/issues/200