您需要使用telprompt
URL,而不是tel
.
所以:
NSString *phoneNumber = [@"telprompt://" stringByAppendingString:mymobileNO.titleLabel.text];
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:phoneNumber]];
这还将在拨打该号码之前为用户提供一个确认框。
编辑:
这个问题涵盖了同样的问题。
编辑2:
对于那些想知道这个 URL 是否会导致 App Store 拒绝的人,答案通常是否定的。更大的风险是苹果会突然停止支持该telprompt
计划。正如这篇文章所解释的,有一种稍微“更安全”的实现方式telprompt
with UIWebView
(它在telprompt
内部使用,即使你用 调用它tel
)。文章中的相关代码显示了如何使用记录的tel
方案仍然可以给您带来以下效果telprompt
:
+ (void)callWithString:(NSString *)phoneString {
[self callWithURL:[NSURL URLWithString:[NSString
stringWithFormat:@"tel:%@",phoneString]]];
}
+ (void)callWithURL:(NSURL *)url {
static UIWebView *webView = nil;
static dispatch_once_t onceToken;
dispatch_once(&onceToken, ^{
webView = [UIWebView new];
});
[webView loadRequest:[NSURLRequest requestWithURL:url]];
}
(代码取自我第二次编辑中的文章参考)