博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
iOS-获取通讯录信息
阅读量:5981 次
发布时间:2019-06-20

本文共 1946 字,大约阅读时间需要 6 分钟。

hot3.png

导入#import <AddressBook/AddressBook.h>

请求权限

//请求权限- (void)requestAddressBook{    ABAddressBookRef bookRef = ABAddressBookCreate();;    ABAddressBookRequestAccessWithCompletion(bookRef, ^(bool granted, CFErrorRef error) {        if (granted)        {            NSLog(@"授权成功!");            [self getAllContact:bookRef];        }        else        {            // 判断当前的授权状态是否是用户还未选择的状态            ABAuthorizationStatus status = ABAddressBookGetAuthorizationStatus();            if (status == kABAuthorizationStatusAuthorized)            {                            }else{                NSLog(@"授权失败!==%@",@(status));            }            NSLog(@"授权失败!");        }    });}

获取联系人

//获取通讯录信息- (void)getAllContact:(ABAddressBookRef)bookRef{    // 获取通讯录中所有的联系人    CFArrayRef arrayRef = ABAddressBookCopyArrayOfAllPeople(bookRef);    // 遍历所有联系人    CFIndex count = CFArrayGetCount(arrayRef);    for (int i = 0; i < count; i++)    {        ABRecordRef record = CFArrayGetValueAtIndex(arrayRef, i);                // 获取姓名        NSString *firstName = (__bridge_transfer NSString *)ABRecordCopyValue(record, kABPersonFirstNameProperty);        NSString *lastName = (__bridge_transfer NSString *)ABRecordCopyValue(record, kABPersonLastNameProperty);        NSLog(@"firstName = %@, lastName = %@", firstName, lastName);                // 获取电话号码        ABMultiValueRef multiValue = ABRecordCopyValue(record, kABPersonPhoneProperty);        CFIndex count = ABMultiValueGetCount(multiValue);        for (int i = 0; i < count; i ++)        {            NSString *label = (__bridge_transfer NSString *)ABMultiValueCopyLabelAtIndex(multiValue, i);            NSString *phone = (__bridge_transfer NSString *)ABMultiValueCopyValueAtIndex(multiValue, i);            NSLog(@"label = %@, phone = %@", label, phone);        }                CFRelease(multiValue);    }        CFRelease(bookRef);    CFRelease(arrayRef);}

转载于:https://my.oschina.net/hehuiqi/blog/1631733

你可能感兴趣的文章
python中的编码
查看>>
Mac os x系统安装java EE开发环境
查看>>
我的友情链接
查看>>
我的友情链接
查看>>
网络营销逐步将走向规范
查看>>
CodeCombat-重点目标
查看>>
linux文件系统
查看>>
我的友情链接
查看>>
judp 快速 查找
查看>>
LVS 负载均衡集群
查看>>
我的友情链接
查看>>
php面向对象实现简单的用户注册登陆
查看>>
Sublime Text 3 常用插件以及安装方法
查看>>
Android应用程序窗口(Activity)与WindowManagerService服务的连接过程分析
查看>>
loadlibrary向下调用顺序
查看>>
一键安装rsync
查看>>
JAVA异常处理原则和log4j输出详细异常分析
查看>>
复习下http 状态
查看>>
angular 学习笔记
查看>>
Squid在企业网络中的应用
查看>>