Как я могу позвонить в iOS? - PullRequest
41 голосов
/ 20 марта 2009

Как мне позвонить в Objective-C?

Ответы [ 8 ]

117 голосов
/ 20 марта 2009

Вы можете инициировать звонок

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

Так что это, вероятно, будет работать:

[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"tel:12125551212"]];
23 голосов
/ 20 марта 2009

Это вырезано из проекта, который я сделал, чтобы сделать это:

NSString *phoneStr = [NSString stringWithFormat:@"tel:%@",phone_number];
NSURL *phoneURL = [NSURL URLWithString:phoneStr];
[[UIApplication sharedApplication] openURL:phoneURL];
19 голосов
/ 29 ноября 2013

Также может быть полезно узнать, как предложить пользователю позвонить по номеру:

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

telprompt дает пользователю возможность сделать вызов или отменить его до того, как телефон наберет номер. Две косые черты после двоеточия являются необязательными.

10 голосов
/ 20 марта 2009

хорошо, если вы говорите об использовании target-c для совершения телефонного звонка на iphone, то вы можете сделать что-то вроде этого:

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

Если вы говорите о том, чтобы делать это на Mac, то, как и другие, упомянули, что это зависит от ряда вещей, например, если вы используете voip, модем, подключение через что-то вроде поля звездочек и т. Д. .

3 голосов
/ 23 сентября 2015

УДАЛИТЬ ПУСТЫЕ ПРОСТРАНСТВА В ТЕЛЕФОНЕ НОМЕРА

NSString *phoneNumberString = @"123 456";
phoneNumberString = [phoneNumberString stringByReplacingOccurrencesOfString:@" " withString:@""];
phoneNumberString = [NSString stringWithFormat@"tel:%@", phoneNumberString];
NSURL *phoneNumberURL = [NSURL URLWithString:phoneNumberString]];
[[UIApplication sharedApplication] openURL:phoneNumberURL];
2 голосов
/ 10 июня 2017

openURL устарела.

Теперь используйте это:

UIApplication *application = [UIApplication sharedApplication];
[application openURL:[NSURL URLWithString: @"tel:12125551212"] options:@{} completionHandler:nil];
0 голосов
/ 26 мая 2015
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];
0 голосов
/ 20 марта 2009

Это будет либо очень зависеть от платформы, либо вам придется использовать библиотеку-оболочку для учета различий между платформами, чтобы вы лучше указали, для какой платформы она предназначена. В общем, на большинстве платформ доступны различные API телефонии.

В системах Windows есть, например, «TAPI», также, если вы ориентируетесь на цифровую телефонную систему, такую ​​как ISDN, некоторые вещи могут несколько отличаться, поскольку есть другие доступные API.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...