iOS 5是否支持屏幕连接/断开通知?

3
有人在使用iOS 5时,无论是否勾选镜像功能,是否仍然会收到屏幕连接/断开的通知吗?我似乎没有收到任何通知,除非我插入一个视频输出线到我的设备上,而不是使用AirPlay。
我的应用程序中有一个由MPVolumeView提供的AirPlay按钮。我可以点击它并选择一个Apple TV。AirPlay按钮变为蓝色。我没有收到任何通知。
我可以进入“正在播放”屏幕(双击并翻页至一端),然后选择一个Apple TV。当AirPlay图标变为蓝色时,我获得了确认。但是我的应用程序没有获得确认(即使返回到应用程序后也是如此)。
我可以进入“正在播放”屏幕(双击并翻页至一端),然后选择一个Apple TV并选择镜像。当AirPlay图标变为蓝色时,我获得了确认。但是我的应用程序没有获得确认(即使返回到应用程序后也是如此)。
我退出应用程序,将镜像保留在开启状态,然后重新启动应用程序。我有代码来检查屏幕数量。但我只看到一个屏幕。
我希望我做错了什么,但我想确认其他人在使用AirPlay时是否也能收到通知。我记得在5.0测试版期间测试过我的AirPlay兼容性,没有遇到这些问题。
(苹果公司的ExternalDisplay示例也是同样的情况。)
我用于通知注册的代码:
[[NSNotificationCenter defaultCenter] addObserver:self
                                         selector:@selector(screenDidConnect:)
                                             name:UIScreenDidConnectNotification
                                         object:nil];
[[NSNotificationCenter defaultCenter] addObserver:self
                                         selector:@selector(screenDidConnect:)
                                             name:UIScreenDidDisconnectNotification 
                                           object:nil];

通知应调用的代码:

- (void) screenDidConnect:(NSNotification *)notification {
    if ([[UIScreen screens] count] > 1) 
        [self myScreenInit:[notification object]];
    else {
         ...
    }
1个回答

4

原来自iOS 5.0起,只有在以下情况下才能收到通知:

  • iPad 2或iPhone 4s
  • 您必须在设备的“现在播放”屏幕中打开镜像(两次点击主页按钮,转到最左边的页面,点击AirPlay图标,选择一个AppleTV并打开镜像)。这似乎很奇怪,但这就是它的工作方式。只选择AirPlay AppleTV而不镜像让您可以在AVPlayer框架内显示的内容中使用AppleTV。

通过HDMI电缆,更多设备可以使用UIScreen使用第二个屏幕。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接