Я использую AVAudioSession в своем приложении VOIP (также используя CallKit). Я понимаю, что сеанс может быть прерван рядом причин, например вторым входящим звонком. Apple указывает внизу этой страницы: https://developer.apple.com/library/content/documentation/Audio/Conceptual/AudioSessionProgrammingGuide/HandlingAudioInterruptions/HandlingAudioInterruptions.html#//apple_ref/doc/uid/TP40007875-CH4-SW5
«Примечание. Нет гарантии, что прерывание начала будет иметь соответствующее прерывание окончания. Ваше приложение должно знать о переключении в активное состояние или о нажатии пользователем кнопки воспроизведения. В любом случае определите, должно ли ваше приложение повторно активировать его аудиосеанс».
На указанной странице есть пример для частного случая, когда пользователь игнорирует входящий вызов и в этом случае отправляется AVAudioSessionInterruptionTypeEnded.
Но что мне делать, чтобы знать, когда прерывание закончилось во всех остальных случаях (в каких случаях я никогда не получу AVAudioSessionInterruptionTypeEnded)? (Например, когда пользователь отвечает на второй звонок и ставит меня на удержание, а позже завершает второй звонок?)
Спасибо!