选择包含“+”的联系号码时,应用程序崩溃

时间:2011-10-17 07:41:35

标签: objective-c abpersonviewcontroller

我有一个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);

但日志中没有错误输出。知道如何解决这个问题吗?

1 个答案:

答案 0 :(得分:1)

我不知道你在哪里插入“+”但是你应该尝试用可以使用的东西取代它。

[yourString stringByReplacingOccurrencesOfString:@"+" withString:@"00"];

如果没有帮助尝试关注此链接: Address book Phone number (+45) prefix causing crash!