Как позвонить из приложения, если у iPhone есть только eSIM и нет физической SIM-карты - PullRequest
0 голосов
/ 19 октября 2019

У меня возникает проблема при звонке из приложения через iPhone XR, и у него есть только eSIM, а не физическая SIM-карта. Если я вставляю физический sim-код, код работает отлично, но если у меня есть единственный eSIM в iPhone, он отображает ошибку, такую ​​как Simcard Not Available

Я использую приведенный ниже код для вызова из приложения

let phoneNumber = safetyArr[indexPath.row]["number"] as! String

        print("Phone Number : \(phoneNumber)")

        if hasCellularCoverage() == true {
            print("SIM Available")

            if let url = URL(string: "telprompt:\(phoneNumber)") {

                if UIApplication.shared.canOpenURL(url) {

                    if #available(iOS 10.0, *) {

                        UIApplication.shared.open(url, options: [:], completionHandler: nil)

                    } else {

                        UIApplication.shared.openURL(url)
                    }

                } else {

                    self.view.makeToast("Call facility is not available", duration: 3.0, position: .bottom)
                }

            } else {

                self.view.makeToast("Mobile number not available", duration: 3.0, position: .bottom)
            }
        }
        else {
            self.view.makeToast("Sim card not available", duration: 3.0, position: .bottom)
        }

func hasCellularCoverage () -> Bool {

    let networkInfo = CTTelephonyNetworkInfo()

    guard let info = networkInfo.subscriberCellularProvider else {return false}

    return info.isoCountryCode != nil ? true : false

}
...