如何在iOS上拨打电话?

时间:2009-03-20 11:35:04

标签: ios objective-c iphone

如何在Objective-C中拨打电话?

8 个答案:

答案 0 :(得分:117)

您可以发起电话

https://developer.apple.com/library/archive/featuredarticles/iPhoneURLScheme_Reference/PhoneLinks/PhoneLinks.html

所以这可能有用:

[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"tel:12125551212"]];

答案 1 :(得分:23)

这是从我做过的项目中删除的:

NSString *phoneStr = [NSString stringWithFormat:@"tel:%@",phone_number];
NSURL *phoneURL = [NSURL URLWithString:phoneStr];
[[UIApplication sharedApplication] openURL:phoneURL];

答案 2 :(得分:19)

了解如何提示用户拨打号码也可能有所帮助:

NSURL *phoneNumber = [NSURL URLWithString:@"telprompt://13232222222"];
[[UIApplication sharedApplication] openURL:phoneNumber];

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

答案 3 :(得分:10)

如果您正在谈论使用objective-c在iphone上拨打电话,那么您可以这样做:

NSURL *phoneNumber = [[NSURL alloc] initWithString: @"tel:867-5309"];
[[UIApplication sharedApplication] openURL: phoneNumber];

如果您正在谈论在Mac上执行此操作,那么就像其他人提到的那样,根据事物的数量,如果您使用的是voip,调制解调器,通过Asterisks框等连接等等。

答案 4 :(得分:3)

删除电话号码中的空房间

NSString *phoneNumberString = @"123 456";
phoneNumberString = [phoneNumberString stringByReplacingOccurrencesOfString:@" " withString:@""];
phoneNumberString = [NSString stringWithFormat@"tel:%@", phoneNumberString];
NSURL *phoneNumberURL = [NSURL URLWithString:phoneNumberString]];
[[UIApplication sharedApplication] openURL:phoneNumberURL];

答案 5 :(得分:2)

不推荐使用openURL。

现在使用:

UIApplication *application = [UIApplication sharedApplication];
[application openURL:[NSURL URLWithString: @"tel:12125551212"] options:@{} completionHandler:nil];

答案 6 :(得分:-1)

NSString *phoneNumber = @"Phone number here";
UIWebView *webView = [[UIWebView alloc] init];
NSURL *url = [NSURL URLWithString:numberString];        
NSURLRequest *requestURL = [NSURLRequest requestWithURL:url]; 
webView.dataDetectorTypes = UIDataDetectorTypeNone;
[webView loadRequest:requestURL];

答案 7 :(得分:-2)

这将是非常特定于平台的,或者您将不得不使用包装程序库来解释平台之间的差异,因此您最好说明这是什么平台。通常,大多数平台上都有各种电话API。

在Windows系统上,例如“TAPI”,如果您的目标是数字电话系统(如ISDN),也可能会有所不同,因为还有其他可用的API。