Swift NSOSStatusErrorDomain при попытке позвонить по номеру - PullRequest
0 голосов
/ 21 июня 2020

У меня в Swift есть этот код:

       Text(item.telephone)
        .onTapGesture {
              guard let number = URL(string: "tel://" + item.telephone) else { return }
              UIApplication.shared.open(number)
         }

И я хочу, чтобы он называл номер, который показывает. Я пробовал с +994 и без, но в любом случае мне дали

 Failed to open URL tel://0501234556: Error Domain=NSOSStatusErrorDomain Code=-10814 "(null)" UserInfo={_LSLine=247, _LSFunction=-[_LSDOpenClient openURL:options:completionHandler:]}

Как я могу решить эту проблему?

1 Ответ

0 голосов
/ 21 июня 2020

Обновление: похоже, вы используете симулятор, чтобы открыть tel://, что приведет к ошибке, которую вы получили. Поэтому проверьте, можно ли открыть URL-адрес с помощью canOpen() перед выполнением open().

Text(item.telephone)
    .onTapGesture {
        guard let number = URL(string: "tel://" + item.telephone) else { return }
        if UIApplication.shared.canOpenURL(number) {
            UIApplication.shared.open(number)
        } else {
            print("Can't open url on this device")
        }
}

Примечание. Убедитесь, что параметр item.telephone не содержит ничего, кроме числа.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...