我想在不使用ABPeoplePickerNavigationController的情况下获取设备上的联系人,有可能在objective-c?
答案 0 :(得分:4)
是的,这是可能的。下面是一段简单的代码片段:
ABAddressBookRef addressBook = ABAddressBookCreate();
CFArrayRef allPeopleRef = ABAddressBookCopyArrayOfAllPeopleInSourceWithSortOrdering(addressBook, nil, kABPersonSortByFirstName);
CFIndex nPeople = ABAddressBookGetPersonCount(addressBook);
for( int i = 0 ; i < nPeople ; i++ ) {
ABRecordRef ref = CFArrayGetValueAtIndex(allPeopleRef, i );
CFStringRef tmpStringRef = ABRecordCopyValue(ref, kABPersonFirstNameProperty);
NSLog(@"FirstName: %@", (NSString *)tmpStringRef);
CFRelease(tmpStringRef);
}
//clean up memory
CFRelease(allPeopleRef);
CFRelease(addressBook);
有关详细信息,请参阅Apple开发人员文档here。
答案 1 :(得分:0)
是的。请参阅AddresBook编程指南。 Direct interaction section