今天我就iOS拨打电话方法进行了测试,测试机系统版本为iOS8.3。
方法一:直接跳转到系统的拨号页面,拨号完毕回到原应用。(tel://)
NSString *string = [NSString stringWithFormat:@"tel://%@",self.phoneNumTF.text];
NSURL *url = [NSURL URLWithString:string];
[[UIApplication sharedApplication] openURL:url];
需要注意的是 openURL方法在iOS10已经弃用。所以在iOS10之后可以用下面方法代替(iOS10之前版本使用程序会crash)。
[[UIApplication sharedApplication] openURL:url options:@{} completionHandler:nil];
方法二:点击按钮后,系统会弹窗询问是否拨号,拨号完毕回到原应用。(telprompt://)
NSString *string = [NSString stringWithFormat:@"telprompt://%@",self.phoneNumTF.text];
NSURL *url = [NSURL URLWithString:string];
[[UIApplication sharedApplication] openURL:url]; // iOS10 废弃
需要注意的是,该方法传说是私有API,有可能被拒上架,也只是有可能而已。
方法三:点击按钮后,系统会弹窗询问是否拨号(如上图),拨号完毕回到原应用。(tel://)
NSURL *url = [NSURL URLWithString:[NSString stringWithFormat:@"tel://%@",self.phoneNumTF.text]];
UIWebView *webView = [[UIWebView alloc] init];
[webView loadRequest:[NSURLRequest requestWithURL:url]];
[self.view addSubview:webView];
需要注意:webView不能设置Frame,否则会遮挡界面
方法四:点击按钮后,触发自定义弹窗,显示自定义的效果,此处不在贴代码。
demo地址: https://pan.baidu.com/s/1eSESMqQ