Search code examples
iosobjective-cmpnowplayinginfocenter

Can I hide the rewind button in the iOS Lock Screen Music controls?


My app doesn’t support going back to previous tracks, and I’m wondering if I can tell the lock screen music controls to hide their rewind/previous track button. I use the MPNowPlayingInfoCenter to communicate that information to the lock screen.

Pretty simple question, can it be done? For instance, to only show Play/Pause, and Skip Forward?


Solution

  • As of iOS 7.1 there is a way to customize the controls available in the lock screen and command center (and probably many other accessories): MPRemoteCommandCenter.

    Regarding your question you can do the following:

    [MPRemoteCommandCenter sharedCommandCenter].previousTrackCommand.enabled = NO;
    [MPRemoteCommandCenter sharedCommandCenter].skipBackwardCommand.enabled = NO;
    [MPRemoteCommandCenter sharedCommandCenter].seekBackwardCommand.enabled = NO;
    
    // You must also register for any other command in order to take control
    // of the command center, or else disabling other commands does not work.
    // For example:
    [MPRemoteCommandCenter sharedCommandCenter].playCommand.enabled = YES;
    [[MPRemoteCommandCenter sharedCommandCenter].playCommand addTarget:self action:@selector(play)];
    

    Please see this Stack Overflow answer for more general information about MPRemoteCommandCenter.