Приложение My iPad представляет собой второй пользовательский интерфейс для Apple TV, используя описанные здесь методы - то есть обнаруживать и рисовать на экране UIS, который представляет Apple TV:
В этом документе также обсуждается получение событий дистанционного управления:
Когда AirPlay используется, ваши медиафайлы могут воспроизводиться в другой комнате с вашего хост-устройства. Устройство вывода AirPlay может иметь собственные элементы управления или отвечать на пульт дистанционного управления Apple. Для обеспечения наилучшего пользовательского интерфейса ваше приложение должно прослушивать и реагировать на удаленные события, такие как воспроизведение, пауза и запросы быстрой перемотки вперед. Включение удаленных событий также позволяет вашему приложению реагировать на элементы управления на наушниках или наушниках, которые физически подключены к главному устройству.
Я реализовал подход, который они описывают, чтобы начать получать события удаленного управления, как в моем приложении, так и в простом тестовом проекте, но я не могу обнаружить никаких событий. Я не получаю события, когда я использую наушники, подключенные непосредственно к iPad, и я не получаю события, когда я отправляю представление на Apple TV.
Я прихожу к выводу, что, на самом деле, единственный способ перехватить события удаленного управления - это если передавать потоковое медиа на Apple TV, а не просто представлять пользовательский интерфейс приложения или зеркалировать,
Эта гипотеза, по-видимому, поддерживается тестированием со следующими шагами, используя пример приложения MixerHost (http://developer.apple.com/library/ios/#samplecode/MixerHost/Introduction/Intro.html):
- Запустите приложение на iPad с зеркальным отображением на Apple TV.
- Нажмите кнопку "Play" на пульте дистанционного управления - ничего не происходит.
- Нажмите кнопку "Воспроизвести" в пользовательском интерфейсе приложения, и музыка начнет воспроизводиться через Apple TV.
- Нажмите кнопку "Воспроизвести" на пульте дистанционного управления, чтобы остановить музыку, но музыка не останавливается.
- Измените маршрутизацию Airplay на iPad так, чтобы она больше не отражалась и просто отправляла аудио на Apple TV. Если вы установите точку останова на "remoteControlReceivedWithEvent" и нажмите кнопку "Воспроизведение/Пауза" на пульте дистанционного управления, вы можете поймать событие. Он несовместим - после получения одного или двух событий он перестает работать.
Кто-нибудь еще повезло с событиями в Airplay и Remote Control? Предложения?