In my website, it needs to access camera or webcam. But webRTC is not supported yet on ios webview based on https://forums.developer.apple.com/thread/88052 (please cmiiw). So, I'm trying to find a way to access it without webRTC. Is there any?
And is this following code, a part of utilizing webRTC? Because the console.log shows up on ios webview
function hasGetUserMedia() {
return !!(navigator.getUserMedia || navigator.webkitGetUserMedia ||
navigator.mozGetUserMedia || navigator.msGetUserMedia);
}
//then, somewhere in the code
if (!hasGetUserMedia()) {
console.log( "webRTC is not supported in your browser" );//it shows up on ios webview
}
//other code
navigator.mediaDevices.getUserMedia({
audio: false, //no audio
video: {deviceId: {exact: videoSource.camera_id} }
})
If yes, so what's the workaround which not using webRTC, and can be run on android webview, ios webview, and web browsers?
We now have access to getUserMedia
on iOS WebViews!
As of iOS 14.3, iOS now allows access to getUserMedia
in a WKWebView
Whenever I have questions about browser features like this, I find it very helpful to check out caniuse.com. In this case, there is a note on the entry for Safari & Chrome for iOS
Before iOS 14.3
getUserMedia
returned no video input devices inUIWebView
orWKWebView
, but only directly in Safari
Prior to 2021, we could not access getUserMedia
on iOS outside of Safari. So back then, a workaround was to build a website and direct iOS users to visit the site in Safari instead of making a native app for iOS.
getUserMedia
controls access to a user's camera and microphone, whereas WebRTC helps you send that audio/video to another client, like in a video chat. Here you're stuck on getting the video in the first place so you don't need to worry about WebRTC yet, but when you do, I recommend you check out This article that helped me.
And if you want to test getUserMedia
or WebRTC functions yourself, try using These provided samples, so that you can be sure that it is not the fault of your own code :)
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With