Приложение падает, когда выбран контактный номер, который содержит «+» - PullRequest
0 голосов
/ 17 октября 2011

У меня есть приложение для 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 Ответ

1 голос
/ 17 октября 2011

Я не знаю, где вы вставляете это "+", но вы должны попытаться заменить его чем-то, с чем он может работать.

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

Если это не поможет, попробуйте перейти по этой ссылке: Адресная книга Префикс номера телефона (+45), вызывающий сбой!

...