Ответ 1
Поскольку iOS11,
WebRTC частично поддерживается в WKWebView,
и полностью поддерживается в браузере Safari App.
Разъяснение:
WebRTC имеет три основных API JavaScript:
- MediaStream (aka getUserMedia)
- RTCPeerConnection
- RTCDataChannel
Для приложений, работающих внутри приложения Safari, iOS11+, поддерживаются все API WebRTC. Это включает getUserMedia
. Обязательно используйте библиотеку adapter.js для лучшей совместимости, поскольку каждый браузер, включая Safari, использует другое имя для его реализации. Например, в Safari это navigator.mediaDevices.getUserMedia()
.
Но при использовании WKWebView или SFSafariViewController это другая история:
- Поддерживаются и
RTCDataChannel
какRTCPeerConnection
иRTCDataChannel
. -
getUserMedia
пока не поддерживается, по соображениям безопасности. Скорее всего, он не будет доступен до следующей крупной версии ОС, которая будет iOS 12 в сентябре 2018 года.
Вы все равно можете передавать видео и аудио из локального хранилища или использовать живые медиа, захваченные одноранговым узлом. Надеюсь, в iOS 12 мы увидим некоторый прогресс...