Переключение звука на динамик не остается

Когда у меня подключены airpods, переключение звука на динамик не сохраняется. Этот код работает во всех состояниях, кроме случаев, когда airpods подключены.

var err: Error? = nil
        let session = AVAudioSession.sharedInstance()
        do {
            try session.setCategory(AVAudioSession.Category.playAndRecord, mode: .voiceChat, options: [.allowBluetooth, .allowBluetoothA2DP, .mixWithOthers])

        } catch {
            NSLog("Unable to change audio category because : \(String(describing: err?.localizedDescription))")
            err = nil
        }

        try? session.setMode(AVAudioSession.Mode.voiceChat)
        if err != nil {
            NSLog("Unable to change audio mode because : \(String(describing: err?.localizedDescription))")
            err = nil
        }
        let sampleRate: Double = 44100.0
        try? session.setPreferredSampleRate(sampleRate)
        if err != nil {
            NSLog("Unable to change preferred sample rate because : \(String(describing: err?.localizedDescription))")
            err = nil
        }
        try? session.setPreferredIOBufferDuration(0.005)
        if err != nil {
            NSLog("Unable to change preferred sample rate because : \(String(describing: err?.localizedDescription))")
            err = nil
        }

Когда выбрана строка UIAlertAction:

  do {
                        try AVAudioSession.sharedInstance().overrideOutputAudioPort(AVAudioSession.PortOverride.speaker)
                    } catch let error as NSError {
                        print("audioSession error turning off speaker: \(error.localizedDescription)")
                    }

person user1079052    schedule 20.03.2019    source источник
comment
Ознакомьтесь с этим вопросом и ответом, который может быть уместным: title="невозможно переключиться на вывод динамика при подключении Bluetooth-гарнитуры"> stackoverflow.com/questions/53922387/   -  person Dmitry Zhukov    schedule 17.06.2019