Определение возможностей зеркалирования экрана iOS AirPlay
Я разработал пользовательский интерфейс в своем приложении для iOS для отображения другого вида на внешнем экране, подключенном с помощью зеркального отображения AirPlay или выхода HDMI. У меня есть параметр, чтобы включить / отключить эту функцию, позволяя пользователю выбирать между этим режимом и истинным зеркалированием (то есть одинаковое впечатление на обоих экранах).
Поскольку многие устройства iOS даже не поддерживают внешние дисплеи (iPhone 3GS и более ранние версии, iPod touch), а некоторые поддерживают только HDMI-выход (iPhone 4, iPad 1, iPad 2 с iOS4), я хотел бы настроить пользовательский интерфейс настроек для каждого категория устройства.
Я знаю, что это хорошая практика - по возможности обнаруживать возможности, а не избегать проверки версии самого устройства. Тем не менее, я не нашел в Интернете ничего о том, как обнаружить поддержку AirPlay, а только о том, как ее кодировать.
Можно ли обнаружить поддержку AirPlay/HDMI в SDK?
(Документация Apple по разработке для внешних экранов: http://developer.apple.com/library/ios/#documentation/WindowsViews/Conceptual/ViewPG_iPhoneOS/CreatingWindows/CreatingWindows.html)
1 ответ
Нет, не напрямую, а кратко.
Я думаю, что вам лучше всего определить версию устройства и использовать ее в качестве основы вашего пользовательского интерфейса.
Если вы действительно верите, что это плохая практика, я предлагаю вам изучить расширения UIDevice Эрики Садун - вы можете найти там код, необходимый для запроса достаточно специфических возможностей, чтобы создать абстракцию, которая сообщала бы, является ли устройство AirPlay/HDMI способен. Если вы сделаете это, я надеюсь, что вы поделитесь этим!
UIDevice-расширение: https://github.com/erica/uidevice-extension
Как примечание, не забывайте об адаптере VGA. Я протестировал свое приложение с этим на 1080p, и оно работает / выглядит так же хорошо, как адаптер HDMI, что было большим сюрпризом для меня.