In meiner App möchte ich zur ausgewählten Nummer anrufen. Dazu habe ich folgenden Codetel in openURL funktioniert nicht richtig
+(void)makeCallToSelectedContact:(NSString*)phoneNo{
NSMutableString *phoneNumber = [NSMutableString stringWithString:phoneNo];
[phoneNumber replaceOccurrencesOfString:@" "
withString:@""
options:NSLiteralSearch
range:NSMakeRange(0, [phoneNumber length])];
[phoneNumber replaceOccurrencesOfString:@"("
withString:@""
options:NSLiteralSearch
range:NSMakeRange(0, [phoneNumber length])];
[phoneNumber replaceOccurrencesOfString:@")"
withString:@""
options:NSLiteralSearch
range:NSMakeRange(0, [phoneNumber length])];
NSLog(@"phoneNumber => %@",phoneNumber);
if([[UIApplication sharedApplication] canOpenURL:[NSURL URLWithString:[NSString stringWithFormat:@"tel:+%@",phoneNumber]]]) {
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:[NSString stringWithFormat:@"tel:+%@",phoneNumber]]];
}
else {
NSLog(@"Unable to open");
[self showAlertWithTitle:@"Alert" andMessage:@"This Device Doesn't Support Call Functionality"];
}
}
Lets sagen, wenn ich ph nicht wie +91 1234567890 haben, dann wird es die Nummer richtig nennen. Aber wenn ich eine Nummer ohne + & Ländercode wie 1234567890 habe, dann wird sie in +12 34567890 umgewandelt, was eine falsche Telefonnummer ist. Hier ist mein Konsolenprotokoll
2012-04-05 19:13:37.960 Search[22453:11003] phoneNumber => +911234567890
2012-04-05 19:13:47.928 Search[22453:11003] phoneNumber => 1234567890
Was ich vermisse? Jede Art von Hilfe wird geschätzt.