从UITableViewCell拨打电话

时间:2012-05-08 18:58:20

标签: iphone objective-c ios uitableview didselectrowatindexpath

我遇到了问题。 在我的tableView中,我得到了一个带有电话号码的单元格。我想点击电话号码打个电话。

我在didSelectRowAtIndexPath中实现了以下内容:

NSString *cifra=@"tel://123456789";
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:cifra]];
NSLog(@"after call %@",cifra);

不幸的是,它什么也没做。在我的日志中,它向我显示我的“通话后......”但它没有打电话。没有错误,没有日志,没有动作:( 它适用于我打开网站或googleMaps,但不适用于打电话。

我能做什么吗? 也许这是一个简单的答案,但我真的不知道该怎么做。是否有不同的方式拨打电话?


我正在使用iPhone模拟器。这是问题吗?但它应该做一件事,不应该吗? :)

感谢您的帮助!

3 个答案:

答案 0 :(得分:1)

您无法从模拟器拨打电话。

如果您想测试拨打电话,请在设备上运行该应用,然后按此按钮在您的实际设备上拨打电话。

您可以模拟通话中状态栏,但在实际通话时实际上并没有发生任何事情。

  

硬件>切换通话状态栏

请注意,使用[[UIApplication sharedApplication] openURL:SOMEPHONENUMBER];不会触发此事件。

答案 1 :(得分:1)

尝试使用此代码进行调用

           NSString *prefix = (@"tel://(972)818-32432");
           UIApplication *app = [UIApplication sharedApplication];
            NSString *dialThis = [NSString stringWithFormat:@"%@", prefix];
            NSURL *url = [NSURL URLWithString:dialThis];
            [app openURL:url];

答案 2 :(得分:0)

在答案中提到你无法从模拟器拨打电话,cifra应该是@“tel:123456789”,不需要双斜线。