How to use Stop button in iOS control center instead of pause button with swift

EDIT: I think the "stop" command is only displayed when MPNowPlayingInfoPropertyIsLiveStream = true (available only from iOS 10) /: It does not matter if you disable the "pause" or "togglePlayPause" commands. From iOS 10, the "stop" command will be displayed if MPNowPlayingInfoPropertyIsLiveStream = true. You may need to handle the "pause" or the "togglePlayPause" command too (for earlier versions). Good luck!

OK, I also had this doubt and did not find on the internet how to do what I wanted so I started reading more about MPRemoteCommandCenter and MPNowPlayingInfoCenter. I tried disabling all the buttons I did not use. Also, I read about MPNowPlayingInfoPropertyIsLiveStream and I share in this post in case anyone finds it useful (look at the comments in the code):

Swift 3

MPNowPlayingInfoCenter (for metadata):

var songInfo = [:] as [String : Any]

if NSClassFromString("MPNowPlayingInfoCenter") != nil {

            songInfo[MPMediaItemPropertyArtwork] = MPMediaItemArtwork(image: UIImage(named: "your_image_name")!)
            songInfo[MPMediaItemPropertyTitle] = "Title"
            songInfo[MPMediaItemPropertyArtist] = "Artist name"

            // If is a live broadcast, you can set a newest property (iOS 10+): MPNowPlayingInfoPropertyIsLiveStream indicating that is a live broadcast
            if #available(iOS 10.0, *) {
                songInfo[MPNowPlayingInfoPropertyIsLiveStream] = true
            } else {
                // Fallback on earlier versions
            }

            MPNowPlayingInfoCenter.default().nowPlayingInfo = songInfo

} // end if MPNowPlayingInfoCenter

MPRemoteCommandCenter:

if #available(iOS 9.1, *) {

            let center = MPRemoteCommandCenter.shared()

            // Disable all buttons you will not use (including pause and togglePlayPause commands)
            [center.pauseCommand, center.togglePlayPauseCommand, center.nextTrackCommand, center.previousTrackCommand, center.changeRepeatModeCommand, center.changeShuffleModeCommand, center.changePlaybackRateCommand, center.seekBackwardCommand, center.seekForwardCommand, center.skipBackwardCommand, center.skipForwardCommand, center.changePlaybackPositionCommand, center.ratingCommand, center.likeCommand, center.dislikeCommand, center.bookmarkCommand].forEach {
                $0.isEnabled = false
            }

            // For "play" command
            center.playCommand.addTarget { (commandEvent) -> MPRemoteCommandHandlerStatus in
                // play the song here
                return MPRemoteCommandHandlerStatus.success
            }

            // For "stop" command
            center.stopCommand.addTarget { (commandEvent) -> MPRemoteCommandHandlerStatus in
                // stop the song here
                return MPRemoteCommandHandlerStatus.success
            }

        } else {
            // Fallback on earlier versions
        }

I have done. I hope I have helped you and others (: