WebRTC & getUserMedia not supported [UIWebView only]

Description

Kiosk Pro is based on Apple's WKWebView and UIWebView browser components, which can be selected in the app's Browser Engine setting. Apple requires all third-party apps accessing web-based content to use one of these browser components, which are a part of and are updated with the iOS/iPadOS operating system. We use these underlying browser components to make web requests, render content, and execute JavaScript.

Browser-based features like getUserMedia, which uses WebRTC, are part of the underlying WebView browser components and not something we are able to implement directly. While Apple added support for WebRTC to mobile Safari in iOS 11, they did not extend support to either of the WebView components. This Apple Developer forum thread confirms the problem. 

Status

Resolved in WKWebView. In iOS/iPadOS 14.3, Apple added support for WebRTC (and by extension, getUserMedia requests) to WKWebView, which is the recommended (and default) browser engine for the app.

These requests trigger a system-level permission prompt. On devices running iPadOS 14.8 or older, this permission prompt appears every time a request is made. On devices running iPadOS 15 or later, this has been addressed in the Kiosk Pro 10.1 update.

WebRTC is unavailable in the legacy UIWebView browser engine. As Apple has previously deprecated use of UIWebView, support is unlikely to be added in the future.

Still stuck? How can we help? How can we help?