0

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

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

4

1 回答 1

1

我不知道你在哪里插入那个“+”,但你应该尝试用它可以使用的东西替换它。

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

如果没有帮助,请尝试点击此链接: 地址簿电话号码 (+45) 前缀导致崩溃!

于 2011-10-17T07:49:21.950 回答