AVAudioRecorder не записывает в фоновом режиме после прекращения аудио сеанса

Я записываю аудио в своем приложении, как на переднем плане, так и в фоновом режиме. Я также обрабатываю AVAudioSessionInterruptionNotification, чтобы остановить запись, когда прерывание начинается, и начать снова, когда оно заканчивается. Хотя на переднем плане это работает, как и ожидалось, когда приложение записывает в фоновом режиме, и я получаю вызов, оно не начинает запись снова после завершения вызова. Мой код следующий:

        - (void)p_handleAudioSessionInterruptionNotification:(NSNotification *)notification
        {
            NSUInteger interruptionType = [[[notification userInfo] objectForKey:AVAudioSessionInterruptionTypeKey] unsignedIntegerValue];

            if (interruptionType == AVAudioSessionInterruptionTypeBegan) {
                if (self.isRecording && !self.interruptedWhileRecording) {

                    [self.recorder stop];

                    self.interruptedWhileRecording = YES;
                    return;
                }
            }

            if (interruptionType == AVAudioSessionInterruptionTypeEnded) {
                if (self.interruptedWhileRecording) {
                    NSError *error = nil;
                    [[AVAudioSession sharedInstance] setActive:YES error:&error];

                    NSDictionary *settings = @{
                                       AVEncoderAudioQualityKey: @(AVAudioQualityMax),
                                       AVSampleRateKey: @8000,
                                       AVFormatIDKey: @(kAudioFormatLinearPCM),
                                       AVNumberOfChannelsKey: @1,
                                       AVLinearPCMBitDepthKey: @16,
                                       AVLinearPCMIsBigEndianKey: @NO,
                                       AVLinearPCMIsFloatKey: @NO
                                       };

                    _recorder = [[AVAudioRecorder alloc] initWithURL:fileURL settings:settings error:nil];

                    [self.recorder record];

                    self.interruptedWhileRecording = NO;
                    return;
                }
            }
        }

Обратите внимание, что fileURL указывает на новый файл caf в подкаталоге NSDocumentDirectory. Фоновый режим аудио настроен. Я также попробовал voip и играть тишину, но безуспешно.

Ошибка NSE в блоке AVAudioSessionInterruptionTypeEnded является ошибкой OSStatus 560557684, которую я не нашел, как ее устранить.

Любая помощь приветствуется.

Ответы на вопрос(2)

Ваш ответ на вопрос