概要
iOS11でSafariがWebRTCに対応し、iOSでもP2P通信ができるようになりました。ところで、iOSにはSafari以外にもアプリ内で実装できるブラウザが存在します。
そのブラウザではどうなのか、調査しました。
TL;DR
Safari以外のブラウザでは対応していませんでした。
WebRTCに必要なもの
WebRTCを行うためには、最低でも以下二つのAPIが必要です。
そもそもWebRTCとは、これらを含むAPI(やプロトコル)の総称です。
iOS11のブラウザ
iOSには、Safari以外に三つのアプリ内実装用ブラウザが存在します。
- WKWebView
- SafariViewController
- UIWebView
- iOS11ではdeprecated
調査結果
全てのアプリ内実装用ブラウザで、RTCPeerConnectionは存在しましたがgetUserMediaは存在しませんでした。 よって、iOS11ではSafari以外ではWebRTCを使用することはできません。 アプリ内で実装する場合は、今まで通りネイティブで実装する必要があります。 時間があれば、DataChannelによる通信はできるのか調査してみたいと思います。