web-dev-qa-db-ja.com

iOS 11(ベータ版)のwebKitはWebRTCをサポートしていますか?

IOS11(ベータ版)のSafariで正常に動作するURLがあります。オーディオ/ビデオは正常に動作しています。しかし、このURLをWKWebViewで読み込むと「Incompatible Browser」というエラーが表示され、WebKitでブラウザーのバージョンを確認すると「iOS 11上のWebKitベースのブラウザー」と表示されます

質問は本当にです、iOS 11の開発者BETAのためにAppleはこの変更をWKWebview Webkit(Safariと同じである必要があります)に含めましたか?

16
Adarsh Kumar

IOS11以降、

WebRTCは、部分的にサポートされていますWKWebView
および完全にサポートSafari Appブラウザーで。


説明:

WebRTCには3つの主要なJavaScript APIがあります。

  • MediaStream(別名getUserMedia)
  • RTCPeerConnection
  • RTCDataChannel

Safariアプリ、iOS11 +内で実行されるアプリの場合、すべてのWebRTC APIがサポートされます。これにはgetUserMediaが含まれます。 Safariを含む各ブラウザは実装に異なる名前を使用するため、最高の互換性のために必ずadapter.jsライブラリを使用してください。たとえば、Safariではnavigator.mediaDevices.getUserMedia()です。

ただし、WKWebViewまたはSFSafariViewControllerを使用する場合は、別の話になります。

ローカルストレージからビデオとオーディオをストリーミングしたり、ピアによってキャプチャされたライブメディアを使用したりできます。 iOS 12でいくつかの進歩が見られることを願っています...

27
zaxy78

昨夜、WebKitのソースを少し掘り下げたところ、WebRTC/MediaCaptureのものはすべて、プライベートAPIを介してのみアクセス可能な設定の背後にあるように見えます。また、A/Vアクセス許可のすべてのセットアップを処理する必要があるアプリについて何かを述べたコミットもありました。

いずれの場合でも、結果はgetUserMediaがWKWebViewで、iOS11(少なくともベータ4)でも動作しないことです:(

私はレーダー(rdar:// 33571214および http://www.openradar.me/33571214 )を提出し、他のすべての人にも同じことを勧めています。

8
dpogue

IOS Beta 4でいくつかのテストを実施しましたが、WKWebviewやUIWebviewでもgetUserMediaをWebRTC APIとしてサポートしていないようです。

誰かがこれを確認できますか?

3
Daniel Toplak