iOS:电话号码拨号不工作

前端之家收集整理的这篇文章主要介绍了iOS:电话号码拨号不工作前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在建立一个应用程序,让您拨打荷兰的不同服务中心.问题是他们中的一些具有不同的商业格式(如0800-xxxx),设备无法拨打电话.
代码如下所示:
if ([[UIApplication sharedApplication] canOpenURL:phoneURL]) {
    [[UIApplication sharedApplication] openURL:phoneURL];
}

你有什么想法如何格式化号码或打电话,无论是格式?

编辑:这是电话号码的创建方式:

NSString *phoneNumberString = phoneNumber; // dynamically assigned
NSString *phoneURLString = [NSString stringWithFormat:@"telprompt:%@",phoneNumberString];
NSURL *phoneURL = [NSURL URLWithString:phoneURLString];

解决方法

我使用这个代码,它工作:
NSString *cleanedString = [[phoneNumber componentsSeparatedByCharactersInSet:[[NSCharacterSet characterSetWithCharactersInString:@"0123456789-+()"] invertedSet]] componentsJoinedByString:@""];
NSString *escapedPhoneNumber = [cleanedString stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
NSString *phoneURLString = [NSString stringWithFormat:@"telprompt:%@",escapedPhoneNumber];
NSURL *phoneURL = [NSURL URLWithString:phoneURLString];

if ([[UIApplication sharedApplication] canOpenURL:phoneURL]) {
    [[UIApplication sharedApplication] openURL:phoneURL];
}

猜你在找的iOS相关文章