iOS 용 주소록 프로그래밍 가이드에서 ABPeoplePickerNavigationController 클래스를 사용하여 사용자가 연락처 목록을 탐색하고 사람을 선택할 수있는 방법을 명확하게 설명하고 있지만, 대신 '그룹'을 대신 선택할 수 있는지 궁금합니다.ABPeoplePickerNavigationController에서 'Person'대신 'Group'을 선택하는 방법은 무엇입니까?
0
A
답변
0
귀하의 문제가 지금 해결되었는지는 잘 모릅니다. 나는 단지 같은 문제에 부딪쳤다. 내가 볼 수있는 한, iOS는 사람들 선택 도구 http://developer.apple.com/library/ios/#documentation/ContactData/Conceptual/AddressBookProgrammingGuideforiPhone/Chapters/UI_Controllers.html처럼 주소록의 그룹에 액세스 할 수있는 "준비가 된"방법을 제공하지 않습니다.
그러나 다음 예제 코드 (오류 처리 기능을 추가해야 함)와 같은 모든 그룹 정보에 액세스 할 수 있지만 직접 사용자 인터페이스를 프로그래밍해야합니다.
CFErrorRef error;
ABAddressBookRef addressBook = ABAddressBookCreateWithOptions (NULL, &error);
CFArrayRef groups = ABAddressBookCopyArrayOfAllGroups (addressBook);
ABRecordRef firstGroup = CFArrayGetValueAtIndex (groups,0);
CFStringRef nameOfFirstGroup = ABRecordCopyCompositeName (firstGroup);
CFRelease(nameOfFirstGroup);
CFArrayRef members = ABGroupCopyArrayOfAllMembers (firstGroup);
ABRecordRef firstMember = CFArrayGetValueAtIndex (members,0);
CFStringRef nameOfFirstMember = ABRecordCopyCompositeName (firstMember);
CFRelease(nameOfFirstMember);
CFRelease(members);
CFRelease(groups);
CFRelease(addressBook);
편집 :
죄송합니다, 릴리스 위의 코드를 다른 개체를 너무 일찍. 코드 끝에 CFRelease
문을 넣으십시오.