iOS访问通讯录开发:读取联系人信息

iOS读取通信录中的联系人一般的过程是先查找联系人记录,然后再访问记录的属性,属性又可以分为单值 属性和多值属性。通过下面例子介绍联系人的查询,以及单值属性和多值属性的访问,还有读取联系人中的图 片数据。

开发:读取联系人信息-">

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

1、添加AddressBook和AddressBookUI框架

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

2、引入头文件

在需要 访问通讯录类的头文件中引入下面头文件:

#import <AddressBook/AddressBook.h>

#import <AddressBookUI/AddressBookUI.h>

查询 联系人记录

在从通信录数据库查询联系人数据是无法使用SQL语句,只能通过 ABAddressBookCopyArrayOfAllPeople和ABAddressBookCopyPeopleWithName函数获得,它们的定义如下:

CFArrayRef ABAddressBookCopyArrayOfAllPeople (
ABAddressBookRef addressBook
);
CFArrayRef ABAddressBookCopyPeopleWithName (
ABAddressBookRef addressBook,
CFStringRef name
);

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

ABAddressBookRef ABAddressBookCreateWithOptions (
CFDictionaryRef options,
CFErrorRef* error
);

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索函数
, 查询
, 通讯录
, 联系人
, 属性
, 读取关键字、
, 引入头文件
, 通讯录查询
, ios通讯录开发
, iOS无法访问HTTP
, iOS获取通讯录
, iOS通讯录的获取
, 读取属性
读取联系人
,以便于您获取更多的相关知识。

时间: 2024-09-20 18:01:45

iOS访问通讯录开发:读取联系人信息的相关文章

iOS访问通讯录开发-读取联系人信息

读取通信录中的联系人一般的过程是先查找联系人记录,然后再访问记录的属性,属性又可以分为单值属性和多值属性.通过下面例子介绍联系人的查询,以及单值属性和多值属性的访问,还有读取联系人中的图片数据. 本案例是从iOS设备上读取通讯录中的联系人,并将其显示在一个表视图中,可以进行查询,点击联系人进入详细信息画面.访问通讯录的应用必须要做的两件事情: 1.添加AddressBook和AddressBookUI框架 为工程添加AddressBook.framework和AddressBookUI.fram

contacts-如何从数据库中读取联系人信息?

问题描述 如何从数据库中读取联系人信息? 我想读取所有的联系人信息到 PhoneBookBean 中.PhoneBookBean 包含first_name lastname email_address,但是看起来很难读取 People.URL.使用 ContactsContract,需要 mime_type,并且必须提供 lookupKey,我需要迭代所有的联系人一个一个人输入.如何从数据库中读取联系人信息? 解决方案 解决方案: Intent intent = new Intent(Inten

对于android系统通讯录开发重复联系人怎么对比并且显示重复联系人提示语?

问题描述 对于android系统通讯录开发重复联系人怎么对比并且显示重复联系人提示语? 1.打开通讯录,新建联系人 2.添加联系人,比如 姓名xyz,号码123456,保存 3.在新建联系人,添加上述一样的联系人,保存 然后怎么对比添加有重复联系人的提示语? 如何在contactsaveservice.java里面的savecontact函数里面对比处理? 解决方案 用的数据库么?如果数据库,把姓名作为主键,插入重复联系人会丢出异常,捕获下提示用户即可.

Android访问通讯录和添加联系人

package com.example.test; import java.util.ArrayList; import android.content.ContentProviderOperation; import android.content.ContentResolver; import android.content.ContentUris; import android.content.ContentValues; import android.database.Cursor; i

Android获取手机联系人信息_Android

Android如何获取手机联系人信息,本文为大家揭晓. 获取手机联系人信息步骤: 1.获取 ContentResolver ContentResolver resolver = getContentResolver(); 2.resolver.query(*)查询信息 查询手机联系人的URI:ContactsContract.RawContacts.CONTENT_URI 查询手机联系人手机号的URI:ContactsContract.CommonDataKinds.Phone.CONTENT_

Android获取手机联系人信息

Android如何获取手机联系人信息,本文为大家揭晓. 获取手机联系人信息步骤: 1.获取 ContentResolver ContentResolver resolver = getContentResolver(); 2.resolver.query(*)查询信息 查询手机联系人的URI:ContactsContract.RawContacts.CONTENT_URI 查询手机联系人手机号的URI:ContactsContract.CommonDataKinds.Phone.CONTENT_

IOS获取通讯录联系人信息

IOS获取系统通讯录联系人信息 一.权限注册 随着apple对用户隐私的越来越重视,IOS系统的权限设置也更加严格,在获取系统通讯录之前,我们必须获得用户的授权.权限申请代码示例如下: ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31     //这个变量用于记录授权是否成功,即用户是否允许我们访问通讯录     int __block tip=0;     //声明一个通讯

IOS开发笔记 IOS如何访问通讯录

    IOS开发笔记  IOS如何访问通讯录 其实我是反对这类的需求,你说你读我的隐私,我肯定不愿意的. 幸好ios6.0 以后给了个权限控制.当打开app的时候你可以选择拒绝. 实现方法: [plain] view plaincopy //读取所有联系人      -(void)ReadAllPeoples      {              //取得本地通信录名柄              ABAddressBookRef tmpAddressBook = nil;         

《iOS 6高级开发手册(第4版)》——1.1节访问基本的设备信息

1.1 访问基本的设备信息iOS 6高级开发手册(第4版)UIDevice类展示了一些关键的特定于设备的属性,包括使用的iPhone.iPad或iPod Touch型号.设备名称,以及OS名称和版本.它是一种一站式解决方案,用于提取出某些系统详细信息.每个方法都是一个实例方法,它们是使用UIDevice单例通过[UIDevice currentDevice]调用的. 可以通过UIDevice获取的系统信息包括下面这些项. systemName:它用于返回当前使用的操作系统的名称.对于目前这一代i