iOS开发之获取手机通讯录联系人信息<一>

本文介绍了如何在iOS应用中访问设备通讯录,包括添加必要的框架、导入头文件、查询所有联系人及按名称查询联系人的方法。
读取通信录中的联系人一般的过程是先查找联系人记录,然后再访问记录的属性,属性又可以分为单值属性和多值属性。通过下面例子介绍联系人的查询,以及单值属性和多值属性的访问,还有读取联系人中的图片数据。

本案例是从iOS设备上读取通讯录中的联系人,并将其显示在一个表视图中,可以进行查询,点击联系人进入详细信息画面。访问通讯录的应用必须要做的两件事情:

1、添加AddressBook和AddressBookUI框架

为工程添加AddressBook.framework和AddressBookUI.framework

2、引入头文件

在需要访问通讯录类的头文件中引入下面头文件:
#import <AddressBook/AddressBook.h>
#import <AddressBookUI/AddressBookUI.h>

查询联系人记录

在从通信录数据库查询联系人数据是无法使用SQL语句,只能通过ABAddressBookCopyArrayOfAllPeople和

ABAddressBookCopyPeopleWithName函数获得,它们的定义如下:
  FArrayRef ABAddressBookCopyArrayOfAllPeople (

ABAddressBookRef addressBook

);

CFArrayRef ABAddressBookCopyPeopleWithName (

ABAddressBookRef addressBook,

CFStringRef name

);

CFArrayRef ABAddressBookCopyArrayOfAllPeople (

ABAddressBookRef addressBook

);

CFArrayRef ABAddressBookCopyPeopleWithName (

ABAddressBookRef addressBook,

CFStringRef name

); 

ABAddressBookCopyArrayOfAllPeople函数是查询所有的联系人数据。ABAddressBookCopyPeopleWithName函数是通过人名查询通讯录中的联系人,其中的name参数就是查询的前缀关键字。两个函数中都有addressBook参数,它是我们要查询的通讯录对象,其创建使用ABAddressBookCreateWithOptions函数(在iOS6之前是ABAddressBookCreate函数),它的定义:
  ABAddressBookRef ABAddressBookCreateWithOptions (

CFDictionaryRef options,

CFErrorRef* error

);

ABAddressBookRef ABAddressBookCreateWithOptions (

CFDictionaryRef options,

CFErrorRef* error

);  

原文链接:http://www.2cto.com/kf/201307/224185.html
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值