For a macOS app to show up in the Now Playing media center (which enables media keys [F7, F8, F9]) you just need to configure the MPNowPlayingInfoCenter
’s playbackState
func play() {
self.player.play()
MPNowPlayingInfoCenter.default().playbackState = .playing
}
And then subscribe to RemoteCommand
changes:
let commandCenter = MPRemoteCommandCenter.shared()
commandCenter.pauseCommand.addTarget { (event) -> MPRemoteCommandHandlerStatus in
self.player.pause()
MPNowPlayingInfoCenter.default().playbackState = .paused
return .success
}
commandCenter.playCommand.addTarget { (event) -> MPRemoteCommandHandlerStatus in
self.player.play()
MPNowPlayingInfoCenter.default().playbackState = .playing
return .success
}