Как позвонить по номеру телефона из приложения ios?
Я пытаюсь позвонить по номеру телефона из приложения ios, используя:
Он не работает, хотя метод вызван:
-(IBAction)callPhone:(id)sender {
NSString *phoneCallNum = [NSString stringWithFormat:@"tel://%@",listingPhoneNumber ];
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:phoneCallNum]];
NSLog(@"phone btn touch %@", phoneCallNum);
}
NSLog
вывод: телефон btn touch тел://+ 39 0668806972
Ответы
Ответ 1
ваш код верен. вы проверили реальное устройство. эта функция не будет работать в симуляторе.
попробуйте также,
NSString *phNo = @"+919876543210";
NSURL *phoneUrl = [NSURL URLWithString:[NSString stringWithFormat:@"telprompt:%@",phNo]];
if ([[UIApplication sharedApplication] canOpenURL:phoneUrl]) {
[[UIApplication sharedApplication] openURL:phoneUrl];
} else
{
calert = [[UIAlertView alloc]initWithTitle:@"Alert" message:@"Call facility is not available!!!" delegate:nil cancelButtonTitle:@"ok" otherButtonTitles:nil, nil];
[calert show];
}
** версия Swift 3 **
if let url = URL(string: "telprompt:\(phoneNumber)") {
if UIApplication.shared.canOpenURL(url) {
UIApplication.shared.openURL(url)
}
}
Ответ 2
Телефония не работает на симуляторах /iPod/iPad, вам потребуется запустить приложение на iPhone с активной сим-картой.
Также схема URL для вызова приложения телефонии tel:<phone_number>
. Обратитесь Apple docs.
В идеале вы должны проверить, имеет ли устройство телефонный модуль, а затем выполнить вызов openURL:
. Используйте этот код для выполнения проверки,
if([[UIApplication sharedApplication] canOpenURL:callUrl]) {
[[UIApplication sharedApplication] openURL:callUrl];
}
else {
//Show error message to user, etc.
}
Ответ 3
Используйте следующий метод для вызова:
NSString *phoneNumber = [@"tel://" stringByAppendingString:number];
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:phoneNumber]];
Ответ 4
Вы можете попробовать, как показано ниже.
NSString *phoneNumber = [@"tel://" stringByAppendingString:Number];
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:phoneNumber]];
Надеюсь, это поможет вам.
Ответ 5
NSString *phoneNumber = [@"tel://" stringByAppendingString:@"9414481799"];
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:phoneNumber]];
Это будет работать только на устройстве.