从iOS应用程序拨打电话号码的正确URL是什么?

时间:2017-05-23 11:09:31

标签: ios swift

使用以下代码拨打电话号码:

let number : String = "1860-425-0000"

 if  let url : URL = URL(string: "tel://\(number)"){ 
     UIApplication.shared.openURL(url)
  }

结果是:

问题是,在通话时,它会附加不同国家/地区的代码来代替正确的国家/地区代码。

如何制作18604250000而不是+1(860)425-0000?

3 个答案:

答案 0 :(得分:1)

使用弹出窗口进行通话

if let url = URL(string: "telprompt://\(number)") {
                UIApplication.shared.openURL(url)
            }

swift 3.0

guard let number = URL(string: "telprompt://" + number) else { return }
UIApplication.shared.open(number)

对于没有弹出窗口的直接电话

if let url = URL(string: "tel://\(number)") {
                UIApplication.shared.openURL(url)
            }

Swift 3.0

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

答案 1 :(得分:0)

您应该能够用连字符分隔每个部分。即

let number: String = "tel://1-860-425-0000"

查看有关它的Apple文档。 Phone Links

要看的另一件事是,如果它没有将第一部分识别为国家代码,那么您应该能够在数字前加上+号。

let number: String = "tel://+1-860-425-0000"

答案 2 :(得分:-2)

Swift 3代码:

func makeCall(mobileNumber:String) {

  if let mobileCallUrl = URL(string: "tel://\(mobileNumber)") {

    let application = UIApplication.shared
    if application.canOpenURL(mobileCallUrl) {
        application.open(mobileCallUrl, options: [:], completionHandler: nil)
    }
  }
}

您应该可以使用makeCall(“1860-425-0000”)拨打电话。