如何在点击tableview cell ios objective c上打开电话拨号器等应用程序

时间:2017-02-15 12:52:58

标签: ios objective-c iphone uitableview ios10

我是iOS开发的新手。 我创建了一个tableview菜单,看起来像这样:

enter image description here

现在我想在单元格点击上打开电话拨号器,消息和电子邮件应用程序。怎么去呢?

我是这样的(不工作!!!):

-(void) tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath{
    if(self.tableView.indexPathForSelectedRow.row == 0){
        NSLog(@"Call selected!!");
        [[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"tell://1234"] options:@{} completionHandler:nil];
    }
    else if (self.tableView.indexPathForSelectedRow.row == 1){
        NSLog(@"Text Selected!!");
    }
    else{
        NSLog(@"Email Selected!!");
    }
}

任何帮助将不胜感激。

注意:我在iOS 10.2上构建,因此openURL等方法已经过折旧。

由于

1 个答案:

答案 0 :(得分:1)

您可以发起电话

[https://developer.apple.com/library/ios/featuredarticles/iPhoneURLScheme_Reference/PhoneLinks/PhoneLinks.html][1]

不是tell://1234

[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"tell://1234"] options:@{} completionHandler:nil];

tel:1234

[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"tel:1234"] options:@{} completionHandler:nil];

或使用

telprompt允许用户选择在电话拨号前拨打电话或取消拨打电话。冒号后的两个正斜杠是可选的。

例如

[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"telprompt://1234"] options:@{} completionHandler:nil];

不要忘记在.plist

中添加LSApplicationQueriesSchemes
<key>LSApplicationQueriesSchemes</key>
<array>
 <string>tel</string>
 <string>telprompt</string>
</array>

有关详细信息,您可以获取tutorial

的链接