我一直在构建一个应用程序,以编程方式拨打从本地服务提供商创建的号码,访问代码,然后拨打您要拨打的联系人。我已成功设法让手机使用以下代码拨出:
@IBAction func dialButton(sender: AnyObject) {
fetchServiceDetails()
if serviceNumber == "0" {
var alert = UIAlertController(title: "No Service Provider", message: "Please create a service profile in the Settings page.", preferredStyle: UIAlertControllerStyle.Alert)
alert.addAction(UIAlertAction(title: "Okay", style: UIAlertActionStyle.Default, handler: nil))
self.presentViewController(alert, animated: true, completion: nil)
} else {
let url = NSURL(string: "tel://\(self.serviceNumber)"+",,"+(self.servicePin)+"#,,"+(numberDisplay.text.self)!)
println(url)
saveRecents()
let application:UIApplication = UIApplication.sharedApplication()
if (application.canOpenURL(url!)) {
application.openURL(url!)
}
}
}
这适用于拨打普通号码。但是我不能用国际拨号代码拨打任何东西。
应用程序进入iPhone调用页面,生成完整的数字,但是当它到达最后一个数字(特别是)时,字符' +'手机不再拨打任何号码。呼叫仍然有效,它只是没有完成拨号。据我所知,苹果确实拨打了这个角色。
答案 0 :(得分:0)
好的,我找到了解决方案,为此道歉。但对于有兴趣做同样事情的人来说,解决方案如下。
问题不在于swift或iOS。虽然我不确定为什么它不会拨打' +'符号有一种解决方法。这是通过替换所有出现的' +'与' 00'。这可以代替+用于国际拨号代码。因此,不是英国的+44,而是拨打0044.