Update: WebRTC Support is coming in iOS14.3 (Beta) 🎉
Learn more here: https://webkit.org/blog/11353/mediarecorder-api/
From iOS11+ :
WebRTC is partially supported in WKWebView,
and fully supported in the Safari App browser.
Explained:
WebRTC has three main JavaScript APIs:
- MediaStream (aka getUserMedia)
- RTCPeerConnection
- RTCDataChannel
For apps running inside Safari App, iOS11+, all WebRTC APIs are supported. That includes getUserMedia
. Be sure to use adapter.js library for best compatibility, since each browser – including Safari – uses a different name for its implementation. For example, in Safari it’s navigator.mediaDevices.getUserMedia()
.
But, when using WKWebView or SFSafariViewController, it’s a different story:
- Both
RTCPeerConnection
andRTCDataChannel
are supported and working. getUserMedia
is not supported yet, for “security reasons”. It most probably won’t be available before the next major OS release, which would be iOS 12 in September 2018.
You can still stream video & audio from local storage or consume live media captured by a peer. Hopefully in iOS 12 we’ll see some progress…