OSがアップデートされると周辺機器が使えなくなることはよくあります。
今回、iOS 11にアップデートしたiPad ProとiPhoneでAirPlayが使えなくなってしまいました。
しかし、原因はiOS 11ではなく特定のアプリが通信制限をかけているためでした。
iOS 10までのAirPlay
AirPlayとはiOSデバイスであるiPhoneやiPadとmacOSが搭載されたMacから、ネットワーク経由でAirPlay対応機器に映像や音楽をストリーミング転送して再生できる仕組みです。
AirPlay対応機器として代表的なものとしてApple TVがあります。
またサードパーティ製品としてBoseなどのアクティブスピーカーやパソコンで動作するアプリケーションもあります。
iOSがバージョンアップするたびに微妙に仕様が変更され、機器側はファームのアップデートを余儀なくされます。
仕様の変更は開示されないため独自にプロトコルを解析するしか方法が無く、パソコン用のアプリケーションでも一時期対応に時間がかかりました。
しかし、iOS 10まではどの機器やアプリケーションでも対応が完了し、問題無く再生できる環境となっていました。
iOS 11とAirPlay 2
iOS 11ではAirPlayが大きく仕様変更されAirPlay 2となりました。
従来のAirPlayは1対1でしか動作できませんでした。1台のiOSデバイスからは1台のAirPlay対応機器にしかストリーミング再生できないのです。
AirPlay 2では1台のiOSデバイスから複数のAirPlay対応機器にストリーミング再生できるようになりました。また、各ストリームをiOSデバイス側で個別にコントロールできるようになります。
この複数機器へのストリーミングは音楽に限られるようです。
そして映像のストリーミングに関しては仕様変更は無いようです。
問題発生
iOS 11でもAirPlayが使えるのかと、パソコンのAirPlay対応ソフトに送信してみました。
ところが音声は出るのですが映像が全く表示されません。パソコンで表示されないのは過去にもありましたのでApple TVに表示してみましたが同じ状態でした。
これは、iOS 11のAirPlay 2で仕様が変わったためと諦めていました。
ところが、時間が経ってから別のパソコンに送信してみると正しく表示されました。
何かの原因で表示されない場合があることが分かり、状況を調べてみました。
画面表示可能状況
いろいろ調べてみたところ、特定のアプリを起動させると、以後、AirPlayでの表示ができなくなることが分かりました。
特定のアプリとはオルタナティブガールズ2です。
AirPlayで配信中にこのアプリを起動するとタイトル画面直後に画面が止まってしまい、音声しか再生できなくなります。
しかも、この状態はタスク管理画面からアプリを終了させても継続します。復帰させるにはiOS 11を再起動させる必要があります。
AirServerというパソコンで動作するAirPlay対応ソフトのエラー画面では、7100/tcpの通信が遮断されている可能性があるとのことです。
パソコン側のFirewallに通過ルールを追加しても状況は変わらないため、このアプリは起動時に7100/tcpを遮断するルールを何かしらの方法でiOS 11に対して行っているようです。
状況を確認したのは、以下の機器とアプリケーションです。
- 第2世代Apple TV:NG(音声のみ)
- X-MIRAGE 2 Ver.2.3.8:OK
- AirServer Ver.5.4.4.0:NG(音声のみ)
- LonelyScreen Ver.1.2.15:NG(音声のみ)
- 5KPlayer Ver.4.6.0.0:NG(音声のみ)
どれも音声だけしか再生されず画面は表示されません。
唯一、X-MIRAGE 2だけは問題無く画面も音声も再生できます。
X-MIRAGE 2はIPv6をサポートしているため、IPv6でAirPlayの通信を行うことで、IPv4の7100/tcpが遮断されていても影響を受けないのかもしれません。
VPNソフトなどはプロファイルを使ってiOS 11の通信に介入しますが、このアプリがどのような方法で通信を遮断しているのか不明です。
ただ、iOS 11を再起動するまで設定が残るのは困ります。
(2017/12/16 追記)
iOS 11.2.1とオルナティブガールズ Ver.2.3.1の組み合わせでは問題は発生しなくなりました。
バトルガールハイスクールでは問題なかったので、これはiOS 11ではなく、やはりオルタナティブガールズ側の問題だったと思われます。
ゲーム録画などには注意
原因はiOS 11の問題ではなく特定のアプリであることは分かりました。
ただ、このゲームをやっていなければ問題無いということではなく、同じように通信を遮断しているアプリはあるかもしれません。
その場合は、どのアプリを起動したら通信できなくなるかを確認して、AirPlayを使う前にiOS 11を再起動してそのアプリを使わないようにすればよいことになります。
なお、iOS 11には新規追加された「画面収録」という機能があります。
これは「コントロールセンター」に「画面収録」ボタンを追加し、
録画したい状態で「コントロールセンター」を開いて「画面収録」ボタンを長押しし、
出力先を「Camera Roll」に指定してから「画面収録」ボタンを押すと、操作画面を録画できるものです。
しかし、アプリケーション実行中にこの機能を使うにはアプリ側の対応が必要で、対応していないアプリでは静止画が1枚記録されるだけで音声しか録画されません。
これはARKitにも対応している第1世代iPad Pro 12.9インチで確認しましたがダメでしたので、処理能力で制限をかけているわけではないようです。
現状ではこの機能を使ってのゲーム画面録画は不可能です。
(2017/12/16 追記)
iOS 11.2.1ではゲームの録画・録音が可能となっています。
iOS 11では録画できず、その後のバージョンでは録画できるようになったのですが音声が録音されませんでした。
オルタナティブガールズとバトルガールハイスクールで確認しましたが現状では問題なく録画できます。
どうもiOS 11の録画機能自体にバグがあったようです。
まとめ
ゲーム画面を録画されないように通信を遮断しているのかもしれませんが、アプリを終了してもAirPlayが使えない状況が継続するのは困ります。
iOS 11側での対策が望まれます。
※初出時、現象の誤認があったため間違った内容となっていました。お詫びして訂正致します。
コメント