Невозможно настроить пользовательский вид на внешний дисплей с помощью трансляции (Apple TV)

Попытка показать пользовательский экран на внешнем дисплее, подключенном к телевизору Apple, используя трансляцию. Мы также пытаемся передать аудио через AppleTV после спаривания. (Аудио здесь необязательно, хорошо, но не обязательно).

Проблема в том, что если мы выполняем воспроизведение звука (используя AVAudioPlayer), он отлично работает, как ожидалось, но не может отображать пользовательский экран. С другой стороны, выбирая его из Центра управления, он отлично работает, за исключением того, что мы не хотим отображать экран, мы хотим отобразить пользовательское представление.

Любая помощь в этом отношении очень ценится.

Загружен пример кода для проблемы AirPlay в папке dropbox – https://dl.dropboxusercontent.com/u/1307156/AirplayDemo.zip

То, что вы пытаетесь сделать, на самом деле довольно просто: после добавления внешнего экрана вы можете создать новый UIWindow , новый UIViewController , который будет управлять вашим пользовательским представлением, отображаемым на внешний экран, и установить только что созданное окно внешний UIScreen .

 // new window binding newWindow.screen = externalScreen; [newWindow makeKeyAndVisible]; 

Вы можете наблюдать изменения на внешних экранах (экран добавляется, удаляется, изменяется через screenModes) через NSNotificationCenter и что-то делает для ваших целей.