我有一个iPhone应用程序。用户可以选择联系人。在选择时,打开另一个视图,其中用户必须选择电话号码。
这很有效。但是,当电话号码包含此类+49 ...
国家/地区代码时,应用程序崩溃。
-(BOOL)personViewController:(ABPersonViewController *)personViewController shouldPerformDefaultActionForPerson:(ABRecordRef)person property:(ABPropertyID)property identifier:(ABMultiValueIdentifier)identifier{
ABMutableMultiValueRef multi = ABRecordCopyValue(person, property);
CFStringRef phone = ABMultiValueCopyValueAtIndex(multi, identifier);
///....some code
[self dismissModalViewControllerAnimated:YES];
[personViewController.navigationController dismissModalViewControllerAnimated:YES];
return NO;
}
它在此行停止
CFStringRef phone = ABMultiValueCopyValueAtIndex(multi, identifier);
但日志中没有错误输出。知道如何解决这个问题吗?
答案 0 :(得分:1)
我不知道你在哪里插入“+”但是你应该尝试用可以使用的东西取代它。
[yourString stringByReplacingOccurrencesOfString:@"+" withString:@"00"];
如果没有帮助尝试关注此链接: Address book Phone number (+45) prefix causing crash!