У меня была такая же проблема с AVPlayer, и в итоге я обнаружил проблему: у меня была установлена точка останова для всех исключений, но AVPlayer выдает исключения при нормальной работе. Отсюда и сообщение об ошибке & crash.
Чтобы исправить: перейдите к списку точек останова в XCode (View | Navigators | Debug Navigator) и найдите точку останова «Все исключения» - она выглядит так: .
Удалите это и попробуйте код снова.
Другая причина этого сбоя, о котором сообщалось в некоторых местах, заключается в использовании ARC и попытке воспроизвести звук с помощью локально выделенного объекта AVPlayer. Очевидно, с ARC это может привести к очистке плеера до начала воспроизведения.
Решением этой проблемы является сильная привязка к игроку путем присвоения ему ивара, например
@property (nonatomic, retain) currentPlayer;
- (void) playSound {
AVAudioPlayer *player = [[AVAudioPlayer alloc] init];
self.currentPlayer = player; // Need the strong reference otherwise next line can fail
[player play];
}