iOS中的拨号号码确实需要确认吗?

我正在使用下面的代码来拨号和testing我的设备。 似乎没有确认是必要的,对吗?

NSURL *url = [NSURL URLWithString:@"tel://12345678"]; [[UIApplication sharedApplication] openURL:url]; 

确认不是必需的,并且在以编程方式完成时不显示。 如果单击一个数字,您将只能在Safari中看到alertView。

但是,以我自己的经验,我相信客户看到一个对话框会更方便,所以不会不小心打给别人。 人们只是在应用程序中挖掘事物,甚至没有想到,在这种情况下可能是不好的。

要模仿什么safari你可以做这样的事情:

 UIAlertView *alert = [[UIAlertView alloc] initWithTitle:nil message:@"Call 12345678?" delegate:self cancelButtonTitle:@"Cancel" otherButtonTitles:@"Call", nil]; [alert show]; alert.tag = 1; [alert release]; 

 -(void) alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex { switch (alertView.tag) { case 1: if (buttonIndex == 1) { NSURL *url = [NSURL URLWithString:@"tel://12345678"]; [[UIApplication sharedApplication] openURL:url]; } break; default: break; } } 

已经发布的合适解决scheme的替代scheme,您可以考虑使用telprompt URLscheme,例如

 NSURL *url = [NSURL URLWithString@"telprompt://12345678"]; [[UIApplication sharedApplication] openURL:url]; 

确认不是必需的,但它是可取的,因为它防止用户被放入拨号应用程序混淆。 有一件事,你可以做到这一点是由另一个答案build议是使用telprompt而不是电话。 这将通过一个简单的对话框提供必要的提示。 在通话结束后,用户还可以将用户放回到通话应用程序中。 这个关键元素可以让你继续前进,而不是被踢出你的应用程序。

一个类别,进一步解释这个代码和一个示例项目可在这里: http : //www.raizlabs.com/dev/2014/04/getting-the-best-behavior-from-phone-call-requests-using-tel -in-AN-IOS-应用程序/