Я обновляю старый проект медиаплеера (Swift 3), и у меня странная ошибка:
Завершение работы приложения из-за необработанного исключения «NSInternalInconsistencyException», причина: «Неподдерживаемая сигнатура метода действия. Должен вернуть MPRemoteCommandHandlerStatus или взять обработчик завершения в качестве второго аргумента.
Я получаю эту ошибку по этому коду:
UIApplication.shared.beginReceivingRemoteControlEvents()
let commandCenter = MPRemoteCommandCenter.shared()
commandCenter.previousTrackCommand.addTarget(self, action: #selector(handlePrevTrack))
@objc func handlePrevTrack(){
if playListEpisodes.count == 0 {
return
}
let currentEpisodeIndex = playListEpisodes.firstIndex { (ep) -> Bool in
return self.episode.title == ep.title && self.episode.author == ep.author
}
guard let index = currentEpisodeIndex else { return}
let nextEpisode:Episode
if index == 0 {
nextEpisode = playListEpisodes[playListEpisodes.count - 1]
}else {
nextEpisode = playListEpisodes[index - 1]
}
self.episode = nextEpisode
}
что изменилось в Swift 5.1?