使用以下代码拨打电话号码:
let number : String = "1860-425-0000"
if let url : URL = URL(string: "tel://\(number)"){
UIApplication.shared.openURL(url)
}
结果是:
问题是,在通话时,它会附加不同国家/地区的代码来代替正确的国家/地区代码。
如何制作18604250000而不是+1(860)425-0000?
答案 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”)拨打电话。