ios代码拨打电话时,电话号码格式兼容性处理问题:
如果拨打的电话号码格式为:023-88888888,即中间有汉字-分隔符时,无法拨打电话,
此时可以做如下处理:
// 处理电话号码
NSString* sOriginPhoneNum = @"023-88888888"; // 中文分隔符-,导致无法拨打电话
NSMutableCharacterSet *charSet = [[[NSMutableCharacterSet alloc] init] autorelease];
[charSet formUnionWithCharacterSet:[NSCharacterSet whitespaceCharacterSet]];
[charSet formUnionWithCharacterSet:[NSCharacterSet punctuationCharacterSet]];
[charSet formUnionWithCharacterSet:[NSCharacterSet symbolCharacterSet]];
NSArray *arrayWithNumbers = [sOriginPhoneNum componentsSeparatedByCharactersInSet:charSet];
NSString *numberStr = [arrayWithNumbers componentsJoinedByString:@""];
if (! numberStr) {
numberStr = @"";
}
// 拨打电话号码
NSString *url = [NSString stringWithFormat:@"tel:%@", numberStr];
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:url]];
参考网址:
http://stackoverflow.com/questions/812243/problem-using-tel-url-to-initiate-a-call