Я создал экран, состоящий из текстового обзора. Внутри textview есть текст с номером телефона. Я включил детекторы данных, поэтому, когда пользователь касается номера, он должен инициировать событие вызова. Однако, поскольку он перенаправляет только на экран sms , я также использую этот метод UITextViewDelegate, поэтому он перенаправляет на экран предварительного набора и работает очень хорошо:
func textView(_ textView: UITextView, shouldInteractWith URL: URL, in characterRange: NSRange, interaction: UITextItemInteraction) -> Bool {
if URL.scheme == "tel" {
let phone = URL.absoluteString.replacingOccurrences(of: "tel:", with: "")
if let callUrl = URL(string: "tel://\(phone)"), UIApplication.shared.canOpenURL(callUrl) {
UIApplication.shared.open(callUrl)
}
}
return true
}
Проблема сейчас в том, что вместо перенаправления ТОЛЬКО на предварительный набор он также перенаправляет на экран смс (запускает оба события вместо одного) ... Кто-нибудь знает, как избежать или предотвратить такое поведение?