Извините, что поднял эту старую тему, но я боролся с той же самой проблемой в течение пары недель и хотел поделиться своим опытом.
Небольшой процент моих пользователей получают фатальные исключения из формата:
«[__NSCFNumber finishPlaying:]: нераспознанный селектор отправлен на экземпляр 0x1fa8ed40»
Похоже, что он ограничен устройствами iOS 6, но отладку было невозможно, так как я сам не могу воспроизвести его.
Я полагаю, что два других ответа лают не на то дерево. Обе предполагают, что проблема связана с делегатом AVAudioPlayer, проблема, которая обсуждалась в Причина сбоя в AVAudioPlayer FinishPlaying после обновления до iPhone 3.0 OS Но вы заметите, что в этом случае метод finishPlaying успешно вызывается, и исключение там связано с audioPlayerDidFinishPlaying: метод.
В этой задаче нераспознанный селектор finishPlaying: не распознается, что означает, что сам AVAudioPlayer больше не является допустимым, а является его делегатом.
После этой реализации я теперь думаю, что проблема заключается в неправильном управлении AVAudioPlayer (я использовал вспомогательный класс не-ARC: NTAVManager). Я обновил класс для использования ARC и надеюсь, что это решит мою проблему, но, как я уже сказал, я никогда не смог воспроизвести его сам, поэтому не смогу подтвердить в течение нескольких недель.