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:), который принимает замыкание)