Все, что нужно для воспроизведения музыки в фоновом режиме с помощью AVAudioPlayer, за два шага:
Шаг 1: Выберите «Проект» -> «Возможности» -> «Включить фоновые режимы» -> «Выбрать режим аудио»
Шаг 2: Используйте этот код:
NSURL *soundURL = [[NSBundle mainBundle] URLForResource:@"demo" withExtension:@"mp3"];
avSound = [[AVAudioPlayer alloc] initWithContentsOfURL:soundURL error:nil];
[avSound setDelegate:self];
[[AVAudioSession sharedInstance] setCategory:AVAudioSessionCategoryPlayback withOptions:AVAudioSessionCategoryOptionMixWithOthers error:nil];
[[AVAudioSession sharedInstance] setActive: YES error: nil];
[[UIApplication sharedApplication] beginReceivingRemoteControlEvents];
[avSound prepareToPlay];
[avSound setNumberOfLoops:-1];
[avSound setVolume:1.0];
Обратите внимание, что с этой строкой музыка может запускаться, даже если приложение было в фоновом режиме:
[[UIApplication sharedApplication] beginReceivingRemoteControlEvents];