博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
IOS6.0调用通讯录和之前的差别
阅读量:4469 次
发布时间:2019-06-08

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

6、通讯录列表获取差异
自iOS6.0后获取通讯录列表需要询问用户,经过用户同意后才可以获取通讯录用户列表。而且ABAddressBookRef的初始化工作也由ABAddressBookCreate函数转变为ABAddressBookCreateWithOptions函数。下面代码是兼容之前版本的获取通讯录用户列表方法。
ABAddressBookRef addressBook = nil;
 
if ([[UIDevice currentDevice].systemVersion floatValue] >= 6.0)
{
    addressBook = ABAddressBookCreateWithOptions(NULL, NULL);
    //等待同意后向下执行
    dispatch_semaphore_t sema = dispatch_semaphore_create(0);
    ABAddressBookRequestAccessWithCompletion(addressBook, ^(bool granted, CFErrorRef error)
    {
        dispatch_semaphore_signal(sema);
    });
          
    dispatch_semaphore_wait(sema, DISPATCH_TIME_FOREVER);
    dispatch_release(sema);
}
else
{
    addressBook = ABAddressBookCreate();
}
 
NSArray *personArray = (NSArray *)ABAddressBookCopyArrayOfAllPeople(addressBook);

转载于:https://www.cnblogs.com/qiqibo/p/3152325.html

你可能感兴趣的文章
微信小游戏入门
查看>>
python 首次安装 报错
查看>>
人工智能岗位替代----厨师
查看>>
poj 1237 The Postal Worker Rings Once
查看>>
Java基础学习笔记八 Java基础语法之接口和多态
查看>>
程序员修炼之道-阅读笔记02
查看>>
CSV模块
查看>>
英文词频统计预备,组合数据类型练习
查看>>
工厂模式
查看>>
java servlet 中文乱码
查看>>
数据的描述性统计
查看>>
一对多sql
查看>>
AntDesign vue学习笔记(七)Form 读写与图片上传
查看>>
想做公众号,总要写点什么--第008期博文
查看>>
打印某个字符串出现的次数。(新手)
查看>>
mysql 管理
查看>>
Codeforce 1175 D. Array Splitting
查看>>
03.html学习-表格
查看>>
Java反射
查看>>
驱动精灵扩展版(集成万能网卡驱动)无法自动识别网卡的解决方案
查看>>