Я обнаружил, что это происходит, когда deleteRecording пытается удалить несуществующий файл. Поэтому проверьте, существует ли файл, прежде чем вызывать его:
if ([[NSFileManager defaultManager] fileExistsAtPath:self.recorder.url.path]) {
if (![self.recorder deleteRecording])
NSLog(@"Failed to delete %@", self.recorder.url);
}
Это может быть ошибка в AVAudioRecorder.