Как предотвратить или избежать поведения phoneNumber dataDetector (он открывает экран смс вместо экрана только телефонных звонков)? - PullRequest
0 голосов
/ 13 апреля 2020

Я создал экран, состоящий из текстового обзора. Внутри 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
}

Проблема сейчас в том, что вместо перенаправления ТОЛЬКО на предварительный набор он также перенаправляет на экран смс (запускает оба события вместо одного) ... Кто-нибудь знает, как избежать или предотвратить такое поведение?

...