IOS 最新通讯录和<Contacts/Contacts.h>框架

本文介绍了iOS 9中的Contacts框架,它提供了Objective-C API用于与设备通讯录交互,相比AddressBook更易用。文章通过实例代码展示了如何获取权限、创建数据对象、遍历联系人信息,并在UITableView中展示。同时提到了CNLabeledValue数据处理的注意事项。
摘要由CSDN通过智能技术生成

         iOS 9 中,苹果介绍了新的 Contacts framework。允许用户使用 Objective-C 的 API 和设备的通讯录进行交互,同样适用于 Swift 语言。比起之前通过 AddressBook framework 来读取联系人信息来说,这是一个巨大的进步。因为 AddressBook framework 没有 Objective-C 的 API,非常难用,用 Swift 写的时候更是痛苦。现在就有一份Object-OC的版本。


第一步效果图:


第二部:我们看一些关键的代码。

1、创建获取数据的对象。

  CNContactStore *  ContactStore;

     2、创建一个代理,已提供全工程。

// 初始化对象

-(PhoneBookManager*)PhoneBookShare{

    static PhoneBookManager * Manger = nil;

    static dispatch_once_t onceToken;

    dispatch_once(&onceToken, ^{

        Manger = [[self class] alloc];

    });

    return Manger;

}


   3、判断是否,允许获取通讯录数据

-(BOOL)ExamineGetPhoneBookOfJurisdiction{

    // 获取枚举类型,是否允许获取权限的状态

    CNAuthorizationStatus  AuthorizationStatus = [CNContactStore authorizationStatusForEntityType:CNEntityTypeContacts];

    if (AuthorizationStatus == CNAuthorizationStatusNotDetermined) {

        return NO;

    }else{

        return YES;

    }

}


   4、规定从通讯录获取的数据类型。

 NSArray * TypeArray = @[CNContactGivenNameKey,CNContactFamilyNameKey,CNContactPhoneNumbersKey,CNContactEmailAddressesKey,CNContactBirthdayKey,CNContactDepartmentNameKey];

    5、进行数据的请求

 CNContactFetchRequest * Request = [[ CNContactFetchRequest alloc]initWithKeysToFetch

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值