Class

MPRemoteCommand

An object that responds to remote command events.

Overview

The Media Player framework defines a standard set of MPRemoteCommand objects for handling media-related events. When an accessory or iOS user interface generates a remote control event, the system notifies the corresponding command object on the shared MPRemoteCommandCenter instance. That command object executes any attached handlers.

To respond to a particular event, register a handler with the appropriate MPRemoteCommand object.

Listing 1

Registering a remote control event handler

let commandCenter = MPRemoteCommandCenter.shared()
    commandCenter.playCommand.addTarget(handler: { (event) in    // Begin playing the current track    
    self.myMusicPlayer.play()
    return MPRemoteCommandHandlerStatus.success})

If you explicitly do not want to enable a given command, fetch the command object and set its enabled property to false. Disabling a remote command lets the system know that it should not display any related UI for that command when your app is the Now Playing app.

Many subclasses are defined to handle specific kinds of commands. Sometimes, these subclasses let you specify other information related to the command. For example, feedback commands let you specify a localized string that describes the meaning of the feedback. When supporting a particular command, be sure to look up the specific class used to handle those events.

Topics

Handling Events

func addTarget(Any, action: Selector)

Adds a target object to be called when an event is received.

func removeTarget(Any?)

Removes a target from the remote command object.

func removeTarget(Any, action: Selector?)

Removes a target and action from a remote command object.

enum MPRemoteCommandHandlerStatus

Constant indicating the status of a command.

Enabling a command object

var isEnabled: Bool

A Boolean value that indicates whether a user can interact with the displayed element.

Relationships

Inherits From

Conforms To

See Also

Setting up the Remote Event Handler

class MPRemoteCommandCenter

An object that responds to remote control events sent by external accessories and system controls.

class MPRemoteCommandEvent

A description of a command sent by an external media player.

Beta Software

This documentation contains preliminary information about an API or technology in development. This information is subject to change, and software implemented according to this documentation should be tested with final operating system software.

Learn more about using Apple's beta software