首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >获取iOS上所有联系人的列表

获取iOS上所有联系人的列表
EN

Stack Overflow用户
提问于 2010-09-20 07:06:35
回答 11查看 87.9K关注 0票数 73

我想获取某个iPhone的所有联系人的列表。

我检查了Address Book参考,我可能遗漏了一些东西,但我没有看到它提供了一个获取联系人列表的方法。

EN

回答 11

Stack Overflow用户

回答已采纳

发布于 2010-09-20 07:19:58

也许ABPerson函数ABAddressBookCopyArrayOfAllPeople可以做到这一点?

Example

代码语言:javascript
复制
ABAddressBookRef addressBook = ABAddressBookCreate( );
CFArrayRef allPeople = ABAddressBookCopyArrayOfAllPeople( addressBook );
CFIndex nPeople = ABAddressBookGetPersonCount( addressBook );

for ( int i = 0; i < nPeople; i++ )
{
    ABRecordRef ref = CFArrayGetValueAtIndex( allPeople, i );
    ...
}
票数 98
EN

Stack Overflow用户

发布于 2013-07-27 12:18:19

使用此代码显示所有姓名+姓氏+电话枚举号码(iOS 6)。也可以在模拟器上工作:

代码语言:javascript
复制
CFErrorRef *error = NULL;
ABAddressBookRef addressBook = ABAddressBookCreateWithOptions(NULL, error);
CFArrayRef allPeople = ABAddressBookCopyArrayOfAllPeople(addressBook);
CFIndex numberOfPeople = ABAddressBookGetPersonCount(addressBook);

for(int i = 0; i < numberOfPeople; i++) {

    ABRecordRef person = CFArrayGetValueAtIndex( allPeople, i );

    NSString *firstName = (__bridge NSString *)(ABRecordCopyValue(person, kABPersonFirstNameProperty));
    NSString *lastName = (__bridge NSString *)(ABRecordCopyValue(person, kABPersonLastNameProperty));
    NSLog(@"Name:%@ %@", firstName, lastName);

    ABMultiValueRef phoneNumbers = ABRecordCopyValue(person, kABPersonPhoneProperty);

    for (CFIndex i = 0; i < ABMultiValueGetCount(phoneNumbers); i++) {
        NSString *phoneNumber = (__bridge_transfer NSString *) ABMultiValueCopyValueAtIndex(phoneNumbers, i);
        NSLog(@"phone:%@", phoneNumber);
    }

    NSLog(@"=============================================");

}
票数 23
EN

Stack Overflow用户

发布于 2010-09-20 07:24:47

确保您有正确的导入

代码语言:javascript
复制
#import <AddressBook/AddressBook.h>

然后,您可以使用以下命令获取一个包含所有联系人的CFArray对象

代码语言:javascript
复制
CFArrayRef ABAddressBookCopyArrayOfAllPeople (ABAddressBookRef addressBook);
票数 12
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3747844

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档