У меня есть приложение, которое воспроизводит потоковое аудио с сервера SHOUTcast. Все работает нормально, когда приложение находится на переднем плане, а автоматическая блокировка отключена. Однако приложение также может воспроизводить аудио в фоновом режиме, эта функция всегда отлично работает на iOS 6 и iOS 7. Но теперь мои пользователи сообщают, что фоновый звук останавливается примерно через 10 минут после их обновления до iOS 8.
Я могу воспроизвести проблему самостоятельно, просто запустив приложение на iOS 8. Поскольку приложение очень сложно, я сделал простую демонстрацию, чтобы показать проблему. Я использую Xcode 6, а Base SDK установлен в iOS 8. Я добавил аудио в UIBackgroundModes в свой Info.plist. Кто-нибудь знает, что не так с кодом ниже?
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
NSURL *streamingURL = [NSURL URLWithString:@"http://www.radiofmgold.be/stream.php?ext=pls"];
AVPlayerItem *playerItem = [AVPlayerItem playerItemWithURL:streamingURL];
[self setPlayerItem:playerItem];
AVPlayer *player = [AVPlayer playerWithPlayerItem:playerItem];
[player setAllowsExternalPlayback:NO];
[self setPlayer:player];
[player play];
[[AVAudioSession sharedInstance] setCategory:AVAudioSessionCategoryPlayback error:nil];
[[AVAudioSession sharedInstance] setActive: YES error: nil];
return YES;
}