当前位置: 首页 > news >正文

iOS6.0下获取通讯录用户列表

自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/AlexHHC/archive/2013/05/31/3109883.html

相关文章:

  • Niagara物联网框架机制二(笔记)
  • Python: Enum枚举的实现
  • IntelliJ Idea学习之常用快捷键
  • Facebook AccountKit 接入的坑点
  • oracle数据查询的基本方法
  • 以Java工程师为例,技术面试应该怎么准备?
  • 安装Android Studio遇到中文乱码的解决方法
  • 解决jsp引用其他项目时出现的 cannot be resolved to a type错误
  • Nginx爆出漏洞 百万网站面临风险
  • 免费https证书
  • Linux 下压缩与解压.zip和.rar及.7z文件
  • JDK里的设计模式
  • Oracle查询访问同一表的两个以上索引(二)
  • Android CMake轻松实现基于OpenSSL的HmacSHA1签名
  • linux下c++使用第三方lib编译lib
  • 2018以太坊智能合约编程语言solidity的最佳IDEs
  • Angular js 常用指令ng-if、ng-class、ng-option、ng-value、ng-click是如何使用的?
  • Angular数据绑定机制
  • Apache的基本使用
  • canvas 五子棋游戏
  • es6
  • Essential Studio for ASP.NET Web Forms 2017 v2,新增自定义树形网格工具栏
  • JavaScript类型识别
  • js数组之filter
  • Just for fun——迅速写完快速排序
  • Linux编程学习笔记 | Linux多线程学习[2] - 线程的同步
  • node.js
  • python docx文档转html页面
  • python大佬养成计划----difflib模块
  • Spring Cloud中负载均衡器概览
  • Yii源码解读-服务定位器(Service Locator)
  • 构建二叉树进行数值数组的去重及优化
  • 解决jsp引用其他项目时出现的 cannot be resolved to a type错误
  • 前端每日实战:61# 视频演示如何用纯 CSS 创作一只咖啡壶
  • 如何在GitHub上创建个人博客
  • 入职第二天:使用koa搭建node server是种怎样的体验
  • 十年未变!安全,谁之责?(下)
  • ​LeetCode解法汇总2182. 构造限制重复的字符串
  • ​软考-高级-系统架构设计师教程(清华第2版)【第20章 系统架构设计师论文写作要点(P717~728)-思维导图】​
  • ​无人机石油管道巡检方案新亮点:灵活准确又高效
  • ​虚拟化系列介绍(十)
  • #绘制圆心_R语言——绘制一个诚意满满的圆 祝你2021圆圆满满
  • #微信小程序(布局、渲染层基础知识)
  • (done) ROC曲线 和 AUC值 分别是什么?
  • (八)c52学习之旅-中断实验
  • (二)七种元启发算法(DBO、LO、SWO、COA、LSO、KOA、GRO)求解无人机路径规划MATLAB
  • (一)VirtualBox安装增强功能
  • (转)IIS6 ASP 0251超过响应缓冲区限制错误的解决方法
  • (转)Linux NTP配置详解 (Network Time Protocol)
  • (转)ORM
  • *Django中的Ajax 纯js的书写样式1
  • ./include/caffe/util/cudnn.hpp: In function ‘const char* cudnnGetErrorString(cudnnStatus_t)’: ./incl
  • .gitignore文件设置了忽略但不生效
  • .net 4.0 A potentially dangerous Request.Form value was detected from the client 的解决方案
  • .net core使用ef 6