iOS 7中的RemoteControlReceivedWithEvent问题

Mic*_*tiz 4 iphone objective-c ios6 ios7

我很难弄清楚为什么在iOS 7中遥控器不起作用.在iOS 7,锁定屏幕或控制中心中,按钮没有响应,有趣的是它在iOS 6上运行正常.

这是我使用的代码:

- (void)remoteControlReceivedWithEvent:(UIEvent *)receivedEvent {

if (receivedEvent.type == UIEventTypeRemoteControl) {

    switch (receivedEvent.subtype) {

        case UIEventSubtypeRemoteControlTogglePlayPause:
             if (player.playbackState == MPMusicPlaybackStatePlaying) {

                 [player pause];
             }
             else {
                 [player play];
             }
            break;
        case UIEventSubtypeRemoteControlPreviousTrack:
            break;

        case UIEventSubtypeRemoteControlNextTrack:
            break;

        default:
            break;
    }
}}
Run Code Online (Sandbox Code Playgroud)

这是我找到有关如何执行此操作的信息:

https://developer.apple.com/library/ios/documentation/EventHandling/Conceptual/EventHandlingiPhoneOS/Remote-ControlEvents/Remote-ControlEvents.html

任何想法为什么会这样?它适用于iOS 6但不适用于iOS 7.

谢谢

Don*_* Jr 9

我遇到了同样的问题,我最终删除了案例语句UIEventSubtypeRemoteControlTogglePlayPause,并分别添加了案例语句UIEventSubtypeRemoteControlPlay和UIEventSubtypeRemoteControlPause.我没有很好的解释为什么这会改变.

*UPDATE*

我发现当用户使用耳机控制播放器时会调用UIEventSubtypeRemoteControlTogglePlayPause.只是一个FYI.