为了账号安全,请及时绑定邮箱和手机立即绑定

获取iPhone通讯录信息

标签:
iOS

    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的通讯录信息检索出来。

点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号

举报

0/150
提交
取消