아이폰의 주소록에서 모든 연락 가능한 전화 번호를 가져올 수있는 방법이 있지만 전화 번호 레이블을 가져 오는 방법이 있습니까? 예를 들면 다음과 같이 할 수 있습니다 : 주소록에서 iPhone 전화 번호 레이블 가져 오기
그리고 나는 (예 : iPhone/Home/mobile/etc와 같은) 라벨을 출력하는 방법을 수정하려고합니다.
ABAddressBookRef addressBook = ABAddressBookCreate();
CFArrayRef all = ABAddressBookCopyArrayOfAllPeople(addressBook);
CFIndex n = ABAddressBookGetPersonCount(addressBook);
for(int i = 0 ; i < n ; i++)
{
ABRecordRef ref = CFArrayGetValueAtIndex(all, i);
NSString *firstName = (NSString *)ABRecordCopyValue(ref, kABPersonFirstNameProperty);
NSLog(@"Name %@", firstName);
ABMultiValueRef *phones = ABRecordCopyValue(ref, kABPersonPhoneProperty);
for(CFIndex j = 0; j < ABMultiValueGetCount(phones); j++)
{
NSString *phoneLabel = @""; // ???
CFStringRef phoneNumberRef = ABMultiValueCopyValueAtIndex(phones, j);
//CFRelease(phones);
NSString *phoneNumber = (NSString *)phoneNumberRef;
CFRelease(phoneNumberRef);
NSLog(@" - %@ (%@)", phoneNumber, phoneLabel);
[phoneNumber release];
}
}
감사합니다. –
환영합니다. 기꺼이 도와 드리겠습니다 – shannoga
(NSString *)을 사용하여 문자열 사용 (__bridge_transfer NSString *)으로 캐스트하는 대신. – Dev2rights