在 iOS 应用程序中检测 AirPlay 镜像

Detect AirPlay Mirroring in iOS application

我有一个 iOS 内置 XCode 的应用程序,Objective C 主要用于 iPad。

基本上我想检测我的 AirPlay 镜像应用程序是否处于活动状态,所以主要是设备是否正在镜像到另一个屏幕。

我搜索了所有 Whosebug,但找不到我需要的东西。 有些答案说我必须为此使用 UIScreenDidConnectNotification

问题是,如果镜像处于活动状态,或者当镜像被激活时,以及当镜像停止时,我必须调用一个函数。所以我想我需要一个用于镜像更改的监听器。

你能帮帮我吗?

我是 iOS 开发的新手,所以如果我可能不了解所有事情,请不要生气。:)

我找到的一些答案:

谢谢!

以下是您可以通过订阅通知来调用任何函数的方法,您可以在 viewDidLoad 或您认为有必要的地方进行:

[[NSNotificationCenter defaultCenter] addObserver:self
        selector:@selector(receiveAirPlayNotification:) 
        name: UIScreenDidConnectNotification
        object:nil];

并接收它:

- (void) receiveAirPlayNotification:(NSNotification *) notification
{
  //Do whatever you want here, or call another function
  NSLog(@"Received Notification - %@", notification); 
  [self doMyThing];
}