2011-10-17 2 views
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); 

에서 정지하지만 로그에 오류 출력은 없다. 이 문제를 어떻게 해결할 수 있습니까?

+0

가능한 중복 [! 주소록의 전화 번호 (+45) 접두사 충돌의 원인 (http://stackoverflow.com/를 질문/4712071/address-book-phone-number-45-prefix-causing-crash) – JeremyP

답변

1

"+"삽입 한 위치를 모르지만 작동시킬 수있는 것으로 교체해야합니다.

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

은이 링크를 따라하려고 도움이되지 않는 경우 : Address book Phone number (+45) prefix causing crash!

관련 문제