iOS使用系统拨打电话常用有两种方式
1.第一种
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"tel://10010"]];
2.第二种(这种方法是推荐使用的,但是千万别忘了tel:)
UIWebView虽然已经弃用了,但是不影响正常的使用,而用最新的WKWebView却是报错,至今没有找到具体的问题出现在哪里,哪位大佬知道可以留下言,在下王某感激不尽。
UIWebView * callWebview = [[UIWebView alloc] init];
[callWebview loadRequest:[NSURLRequest requestWithURL:[NSURLURLWithString:@"tel:10010"]]];
[[UIApplication sharedApplication].keyWindow addSubview:callWebview];
区别:网上有解释为第一种打完电话留在打电话界面,第二种打完电话回到原来的app
真实测试:其实两种打完电话都是回到原来的app界面的。
区别一:第一种会先跳出程序到系统的打电话程序,第二种是一直都在自己的app中运行,没有出去过。
区别二:第一种触发直接到打电话界面,第二种会先弹出一个对话框,可以选择打不打电话,对话框如下。
注:ipod上测试电话号码会错误,手机号1后大约三位数会有括号括起来
3.第三种
效果与2一样,但是网上说这个方法可能不合法 无法通过审核(不知道是不是真的)
网上说:
// telprompt协议属于苹果的私有协议,一旦程序中使用了此协议,程序无法上架
// 针对越狱的机器开发的系统,可以使用此协议
// 点击按钮拨打电话
- (IBAction)dialPhoneNumber:(UIButton *)sender
{
NSMutableString* str=[[NSMutableString alloc] initWithFormat:@"telprompt://%@",_contactInfo.tel];
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:str]];
}