IOS11(ベータ版)のSafariで正常に動作するURLがあります。オーディオ/ビデオは正常に動作しています。しかし、このURLをWKWebViewで読み込むと「Incompatible Browser」というエラーが表示され、WebKitでブラウザーのバージョンを確認すると「iOS 11上のWebKitベースのブラウザー」と表示されます
質問は本当にです、iOS 11の開発者BETAのためにAppleはこの変更をWKWebview Webkit(Safariと同じである必要があります)に含めましたか?
IOS11以降、
WebRTCは、部分的にサポートされていますWKWebView、
および完全にサポートSafari Appブラウザーで。
説明:
WebRTCには3つの主要なJavaScript APIがあります。
Safariアプリ、iOS11 +内で実行されるアプリの場合、すべてのWebRTC APIがサポートされます。これにはgetUserMedia
が含まれます。 Safariを含む各ブラウザは実装に異なる名前を使用するため、最高の互換性のために必ずadapter.jsライブラリを使用してください。たとえば、Safariではnavigator.mediaDevices.getUserMedia()
です。
ただし、WKWebViewまたはSFSafariViewControllerを使用する場合は、別の話になります。
RTCPeerConnection
とRTCDataChannel
の両方がサポートされており動作しています。getUserMedia
は notはまだサポートされていません 、「セキュリティ上の理由」です。それはおそらく 次の主要なOSリリースの前に利用できません 、2018年9月のiOS 12になります。ローカルストレージからビデオとオーディオをストリーミングしたり、ピアによってキャプチャされたライブメディアを使用したりできます。 iOS 12でいくつかの進歩が見られることを願っています...
昨夜、WebKitのソースを少し掘り下げたところ、WebRTC/MediaCaptureのものはすべて、プライベートAPIを介してのみアクセス可能な設定の背後にあるように見えます。また、A/Vアクセス許可のすべてのセットアップを処理する必要があるアプリについて何かを述べたコミットもありました。
いずれの場合でも、結果はgetUserMediaがWKWebViewで、iOS11(少なくともベータ4)でも動作しないことです:(
私はレーダー(rdar:// 33571214および http://www.openradar.me/33571214 )を提出し、他のすべての人にも同じことを勧めています。
IOS Beta 4でいくつかのテストを実施しましたが、WKWebviewやUIWebviewでもgetUserMediaをWebRTC APIとしてサポートしていないようです。
誰かがこれを確認できますか?