点击按钮打开ios中的拨号器

时间:2014-03-07 12:06:01

标签: ios iphone objective-c cocoa-touch

我尝试了以下代码,但它无效

[[UIApplication sharedApplication] openURL:[NSURL URLWithString:[NSString stringWithFormat:@"tel://%@",@"55698"]]];

请提供支持iOS7 SDK的帮助。

7 个答案:

答案 0 :(得分:7)

删除//在您的代码中的tel:之后

[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"tel:55698"]];

OR

[[UIApplication sharedApplication] openURL:[NSURL URLWithString:[NSString stringWithFormat:@"tel:%@",@"55698"]]];

答案 1 :(得分:4)

以上答案很好。请记录,您在电话号码字符串的前面或后面留下了一些Blank space@" ")。我遇到了同样的问题并得到了这样的错误:

  

LaunchServices:错误:URL方案没有注册处理程序   (空)

然后我添加了该代码并打开提示拨号器,如下面的代码

NSString *strPhone=[[[dictEvent valueForKey:@"app_contact_value"] stringByReplacingOccurrencesOfString:@"+" withString:@""] stringByReplacingOccurrencesOfString:@" " withString:@""];
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:[NSString stringWithFormat:@"telprompt://%@",strPhone]]];

现在运行正常。

您也可以像其他答案一样直接拨打电话号码:

[[UIApplication sharedApplication] openURL:[NSURL URLWithString:[NSString stringWithFormat:@"telprompt://%@",strPhone]]];

答案 2 :(得分:3)

试试这个简单的代码:

 NSURL *URL = [NSURL URLWithString:@"tel://55698"];
 [[UIApplication sharedApplication] openURL:URL];

在不在模拟器中的设备中尝试...

答案 3 :(得分:3)

在Swift 2.0 - > = iOS 7.0中,您可以使用以下内容:

    let url:NSURL = NSURL(string: "tel://9809088798")!

    if (UIApplication.sharedApplication().canOpenURL(url))
    {
    UIApplication.sharedApplication().openURL(url)
    }

答案 4 :(得分:2)

您可以使用

通过手机应用程序拨打电话
NSString *phoneNumber = @"tel://472490168092";
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:phoneNumber]];

您无法在iOS中的手机应用程序中打开键盘。您可以在视图控制器中设计自己的手机垫,为按键添加音调。这是实现这种AFAIK的唯一方法。

答案 5 :(得分:1)

请勿使用tel://

[[UIApplication sharedApplication] openURL:[NSURL URLWithString:[NSString stringWithFormat:@"tel:55698"]]];

答案 6 :(得分:1)

针对 Swift 和 iOS 10 及更高版本进行了更新,其中电话号码是一个字符串

        //call Phone dialer
        if  let url = URL(string: "tel://\(phoneNumber)"), UIApplication.shared.canOpenURL(url)  {
            UIApplication.shared.open(url, options: [:], completionHandler: nil)
        }