Я хочу написать приложение для музыкального проигрывателя iOS, которое воспроизводит музыку в фоновом режиме. Я не хочу, чтобы музыка остановилась. Кроме того, я хочу запустить таймер, который время от времени выполняет обновления, которые могут изменить воспроизводимую музыку.
- Когда я пытаюсь написать это приложение, музыка через некоторое время перестает играть. Кроме того, я заметил, что iTunes Player имеет такое же поведение. Если я настрою iTunes на бесконечное зацикливание какой-либо песни и оставлю ее воспроизводить, через несколько часов музыка остановится.
Я настроил свое приложение для фонового воспроизведения звука, и у меня есть код, подобный этому, чтобы начать воспроизведение звука:
try AVAudioSession.sharedInstance().setCategory(AVAudioSessionCategoryPlayback, with:AVAudioSessionCategoryOptions.mixWithOthers)
try AVAudioSession.sharedInstance().setActive(true)
let player = try AVAudioPlayer(contentsOf: sound)
player.numberOfLoops = -1
player.prepareToPlay()
player.delegate = self
player.play()
func audioPlayerDidFinishPlaying(_ player: AVAudioPlayer, successfully flag: Bool) {
player.play()
}
Почему iOS убивает мое приложение и перестает воспроизводить музыку и запускать мой таймер?