我在iOS应用程序中开发了用户体验,用于在通过AirPlay屏幕镜像或HDMI输出连接的外部屏幕上显示不同的视图。我有一个启用/禁用此功能的设置,允许用户在此模式和真实镜像之间进行选择(即两个屏幕上的相同体验)。
由于许多iOS设备甚至不支持外部显示器(iPhone 3GS及更早版本,iPod触摸),有些仅支持HDMI输出(iPhone 4,iPad 1,带iOS4的iPad 2),我想定制设置每种设备的用户界面。
我知道尽可能检测功能是不错的做法,而不是避免检查设备本身的版本。但是,我没有在网上找到任何关于检测AirPlay支持的信息,只是如何为它编码。
是否可以在SDK中检测AirPlay / HDMI支持?
(Apple关于开发外部屏幕的文档: http://developer.apple.com/library/ios/#documentation/WindowsViews/Conceptual/ViewPG_iPhoneOS/CreatingWindows/CreatingWindows.html)
答案 0 :(得分:1)
不,不是直接而且是以概要的方式。
我认为您可能最好检测设备版本并将其作为UI的基础。
如果您真的认为这是不好的做法,我建议您探索Erica Sadun的UIDevice扩展 - 您可以在那里找到查询足够的特定功能所需的代码来创建抽象,让您知道设备是否是支持AirPlay / HDMI。如果你这样做,我希望你分享它!
UIDevice-extension:https://github.com/erica/uidevice-extension
作为旁注,请不要忘记VGA适配器。我已经用1080p测试了我的应用程序,它的工作/外观和HDMI适配器一样好,这对我来说是个大惊喜。