如何使我的应用程序在locking屏幕上的媒体控制button上工作?

在最近的iOS版本中,应用程序可以通过某种方式访问​​locking屏幕上的媒体控制button,如播放/暂停button:

在这里输入图像说明

它看起来像button应该与MPMusicPlayerController类一起工作,是吗? 有没有办法从button中获取“原始”事件? 因为音乐播放器似乎只提供一个API来提供一堆MPMediaItem 。 如果我的应用程序是例如一个收音机需要处理button不同?

经过多一点search,我发现这个相关的问题 ,使事情变得清晰。 音乐播放器控制器类实际上并不是正确的轨道,诀窍是订阅控制器中的远程事件:

 - (void) viewDidAppear: (BOOL) animated { [super viewDidAppear:animated]; [[UIApplication sharedApplication] beginReceivingRemoteControlEvents]; [self becomeFirstResponder]; } - (BOOL) canBecomeFirstResponder { return YES; } - (void) remoteControlReceivedWithEvent: (UIEvent*) event { // see [event subtype] for details }