Во время моего телефонного звонка поступает другой вызов (например, GSM). Я принимаю входящий вызов и ставлю текущий вызов на удержание.
Если я завершаю активный вызов сам, все в порядке, и CallKit вызывает метод поставщика(_ поставщик: CXProvider, DidActivate audioSession : AVAudioSession).
Однако, если другая сторона завершает вызов, второй вызов остается на удержании. В приложении пользователь нажимает на отмену удержания, и я уведомляю CallKit о том, что удержание закончилось.
Но в этом случае метод DidActivate вообще не вызывается. Если я попытаюсь активировать звук самостоятельно после отмены удержания, я получаю сообщение об ошибке: Domain=NSOSStatusErrorDomain Code=561017449 «Активация сеанса не удалась» UserInfo={NSLocalizedDescription=Активация сеанса не удалась
Код: Выделить всё
AVAudioSessionErrorInsufficientPriority == NSOSStatusErrorDomain Code: 561017449
Пример кода
Подробнее здесь: https://stackoverflow.com/questions/782 ... ot-restore
Мобильная версия