Swift以编程方式拨打国际代码

时间:2015-06-05 15:33:45

标签: swift

我一直在构建一个应用程序,以编程方式拨打从本地服务提供商创建的号码,访问代码,然后拨打您要拨打的联系人。我已成功设法让手机使用以下代码拨出:

@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调用页面,生成完整的数字,但是当它到达最后一个数字(特别是)时,字符' +'手机不再拨打任何号码。呼叫仍然有效,它只是没有完成拨号。据我所知,苹果确实拨打了这个角色。

1 个答案:

答案 0 :(得分:0)

好的,我找到了解决方案,为此道歉。但对于有兴趣做同样事情的人来说,解决方案如下。

问题不在于swift或iOS。虽然我不确定为什么它不会拨打' +'符号有一种解决方法。这是通过替换所有出现的' +'与' 00'。这可以代替+用于国际拨号代码。因此,不是英国的+44,而是拨打0044.