iPhone中联系人的信息是存放在系统数据库中的。数据库中的每一笔记录都是一个ABRecordRef实例。
通讯录主要存放两种记录:
1、联系人的信息:是ABPerson类型。主要包括联系人的姓名,电话号码,地址信息。
2、分组信息:是ABGroup类型。用于将联系人分到不同的组中。它只有一个属性,表示分组名称。
在viewDidLoad中添加下面代码,获取所有联系人和分组信息:
ABAddressBookRef addressBook =ABAddressBookCreate(); CFArrayRef allPeople = ABAddressBookCopyArrayOfAllPeople (addressBook); CFArrayRef allGroups = ABAddressBookCopyArrayOfAllGroups(addressBook); for (id person in (NSArray *) allPeople) [self logContact:person]; for (id group in (NSArray *) allGroups) [self logGroup:group]; CFRelease(allGroups); CFRelease(allPeople); CFRelease(addressBook);
使用ABAddressBookCreate创建一个AddressBook实例。ABAddressBook CopyArrayOfAllPeople和ABAddressBook CopyArrayOfAllGroups查询出所有的联系人和分组信息。通过循环,使用logPerson和logGroup两个方法将信息输出到控制台上。
logPerson方法:
CFStringRef name = ABRecordCopyCompositeName(person); ABRecordID recId = ABRecordGetRecordID(person); NSLog(@"Person Name: %@ RecordID:%d",name, recId);
logGroup方法:
CFStringRef name = ABRecordCopyValue(group,kABGroupNameProperty); ABRecordID recId = ABRecordGetRecordID(group); NSLog(@"Group Name: %@ RecordID:%d",name, recId);
总结:本文简单的讲述了如何通过sdk,将iphone的通讯录信息检索出来。
點擊查看更多內(nèi)容
為 TA 點贊
評論
評論
共同學習,寫下你的評論
評論加載中...
作者其他優(yōu)質(zhì)文章
正在加載中
感謝您的支持,我會繼續(xù)努力的~
掃碼打賞,你說多少就多少
贊賞金額會直接到老師賬戶
支付方式
打開微信掃一掃,即可進行掃碼打賞哦