В моем контроллере есть 2 кнопки, кнопка для отправки sms и кнопка для совершения звонка.
Проблема в том, что звонок не всегда работает.
Чтобы воспроизвести это:
- Я нажимаю кнопку sms
- Я выхожу из приложения sms, чтобы вернуться в свое приложение
- Я нажимаю кнопку вызова и он НЕ РАБОТАЕТ
- Нажимаю на кнопку смс
- Я выхожу из смс приложения, чтобы вернуться в свое приложение
- Нажимаю на кнопку вызова и ЭТО РАБОТАЕТ
Он также работает, если:
- Как только я вхожу в свой контроллер в первый раз, я нажимаю кнопку вызова.
- Но как только я нажимаю на кнопка sms cel воспроизводит описанный выше поток.
Вот мой код:
func makeCall() {
openExternalUrl(string: "telprompt://\(phone)")
}
func makeSMS() {
openExternalUrl(string: "sms:\(phone)")
}
func openExternalUrl(string: String) {
if let url = URL(string: string), UIApplication.shared.canOpenURL(url) {
UIApplication.shared.open(url)
}
}
Я пробовал telprompt://\(phone)
и tel://\(phone)
и получил тот же результат.
Когда я печатаю завершение open(url:,completion:)
, возвращаемое логическое значение всегда истинно, даже если всплывающее окно вызова не отображается