MPRemoteCommandHandlerStatus

Мое приложение вылетает на этой линии: command.previousTrackCommand.addTarget(self, action: #selector(playPrevChapter)) с ошибкой:

Unsupported action method signature. Must return MPRemoteCommandHandlerStatus or take a completion handler as the second argument.

Как это исправить?

код:

func registerCommandsIfNeeded() {

        guard !registeredCommands else { return }

        let command = MPRemoteCommandCenter.shared()
        command.previousTrackCommand.isEnabled = true
        command.previousTrackCommand.addTarget(self, action: #selector(playPrevChapter))
        command.nextTrackCommand.isEnabled = true
        command.nextTrackCommand.addTarget(self, action: #selector(playNextChapter))
        command.pauseCommand.isEnabled = true
        command.pauseCommand.addTarget(self, action: #selector(pause))
        command.playCommand.isEnabled = true
        command.playCommand.addTarget(self, action: #selector(play))
        command.togglePlayPauseCommand.isEnabled = true
        command.togglePlayPauseCommand.addTarget(self, action: #selector(togglePlay))

        registeredCommands = true
    }

Ответы (1 шт):

Автор решения: Dmitry Serov

Как и написано в тексте вылетающей ошибки, метод playPrevChapter имеет неправильную сигнатуру. Нужно, чтобы он либо возвращал MPRemoteCommandHandlerStatus, или принимал вторым аргументом замыкание с обработчиком ошибки (сигнатуру обработчика можно посмотреть в объявлении метода addTarget(handler:), который принимает замыкание)

→ Ссылка