2011-08-04 2 views
1

내 앱에서 주소록의 연락처를 가져 왔지만 번호가없는 연락처를 가져 가면 예외가 발생합니다. 어떻게해야합니까? 연락처 번호를 확인하는 방법? 주소록에서 검색 한 연락처에 전화 번호가 없는지 확인하는 방법은 무엇입니까?주소록에서 검색 한 연락처에 전화 번호가 없는지 확인하는 방법은 무엇입니까?

ABMultiValueRef multi = ABRecordCopyValue(person, kABPersonPhoneProperty); 

    if (ABMultiValueCopyValueAtIndex(multi, 0)) { 
     NSLog(@"No number available"); 
     [email protected]"No number available"; 
    } 
    else { 
    cont.number = (NSString*)ABMultiValueCopyValueAtIndex(multi, 0); 
    } 

답변

2

이 코드는 iPhoneDevSDK 출신이다. 일부 수정했습니다 :

ABMultiValueRef phones =(NSString*)ABRecordCopyValue(
    person, kABPersonPhoneProperty); 

CFIndex numPhoneNums = ABMultiValueGetCount(phones); 
if(numPhoneNums == 0) { 
    NSLog(@"No number available"); 
    cont.number = @"No number available"; 
} else { 
    cont.number = (NSString*) ABMultiValueCopyValueAtIndex(phones, 0); 
} 

참고 :이 번호는 첫 번째 전화 번호 (있을 경우)를 제공합니다. 특정 라벨을 원할 경우 루프를 통과해야합니다. 원하는 레이블을 찾을 때까지 ABMultiValueCopyLabelAtIndex(phones, i)에서 테스트하십시오.

+0

여전히 작동하지 않습니다. ((그리고 이름 1은 어쩌면 사람입니까?) –

+0

Mac atm에 있지 않지만 작동하지 않는 것이 있습니까? – Perception

+0

숫자가 전혀 검색되지 않습니다. –

관련 문제