- (IBAction)getAllContactFromSystem {
ABAddressBookRef ab = ABAddressBookCreateWithOptions(NULL, NULL);
ABAddressBookRequestAccessWithCompletion(ab, ^(bool granted, CFErrorRef error) {

//取得通讯录访问授权
ABAuthorizationStatus authorization= ABAddressBookGetAuthorizationStatus();
if (authorization!=kABAuthorizationStatusAuthorized) {
NSLog(@"尚未获得通讯录访问授权!");
return ;
}

//取得通讯录中所有人员记录
CFArrayRef allPeople= ABAddressBookCopyArrayOfAllPeople(ab);
for (int i=0; i<CFArrayGetCount(allPeople); ++i) {
ABRecordRef recordRef = CFArrayGetValueAtIndex(allPeople, i);
//获取用户名
NSString *firstName = (__bridge NSString *) ABRecordCopyValue(recordRef, kABPersonFirstNameProperty);
NSString *lastName = (__bridge NSString *)ABRecordCopyValue(recordRef, kABPersonLastNameProperty);
NSString *personName = [NSString stringWithFormat:@"%@%@",lastName,firstName];
//获取手机号
NSMutableArray *phoneNumbers = [NSMutableArray new];
ABMultiValueRef phoneNumbersRef = ABRecordCopyValue(recordRef, kABPersonPhoneProperty);
for(int j=0; j<ABMultiValueGetCount(phoneNumbersRef); ++j){
NSString* phoneNumber = (__bridge NSString *)(ABMultiValueCopyValueAtIndex(phoneNumbersRef, j));
phoneNumber = [phoneNumber stringByReplacingOccurrencesOfString:@"-" withString:@""];
if (phoneNumber.length > 0) {
[phoneNumbers addObject:phoneNumber];
}
}
}

//释放资源
CFRelease(allPeople);
});
}

转载于:https://www.cnblogs.com/guoxiaoqian/p/5314734.html

IOS 获取系统通讯录中的联系人信息相关推荐

  1. IOS获取系统通讯录联系人信息

    2019独角兽企业重金招聘Python工程师标准>>> IOS获取系统通讯录联系人信息 一.权限注册 随着apple对用户隐私的越来越重视,IOS系统的权限设置也更加严格,在获取系统 ...

  2. Android中获取手机中的联系人信息

    #Android中获取手机中的联系人信息 1.0.查看系统通讯录的表,表路径:data->data->com.android.providers.contacts->database ...

  3. iOS调用系统通讯录获取姓名电话号码

    iOS调用系统通讯录获取姓名电话号码 (iOS 8.0 Xcode6.3可以使用) 1.导入头文件. #import <AddressBook/AddressBook.h> #import ...

  4. 利用aotu.js实现微信自动添加通讯录中的联系人

    微信自动添加通讯录中的联系人 可加V交流:18236478843 /***Author: Niu*/auto.waitFor();//点击添加到通讯录 function click_Add(){if( ...

  5. 从通讯录中导入联系人并去重

    首先给出实现完的界面图 上面是给出来的实现结果图. 从本地联系人中导出联系人,需要使用ContentProvider来获取通讯录中的联系人. 从通讯录中获取联系人方法如下: /** 得到手机通讯录联系 ...

  6. js php通讯录,基于aotu.js实现微信自动添加通讯录中的联系人功能

    什么是Auto.JS? Auto.JS是Android平台上的JavaScript自动化工具. 它的本质是可执行自己编写的简易Javascript脚本的,尤其可以在开启"无障碍模式" ...

  7. iOS获取设备型号、设备类型等信息

    iOS获取设备型号.设备类型等信息 设备标识 关于设备标识,历史上盛行过很多英雄,比如UDID.Mac地址.OpenUDID等,然而他们都陆陆续续倒在了苹果的门下.苹果目前提供了2个方法供App获取设 ...

  8. jdbc获取数据库元数据,获取数据库列表,获取数据库基本信息,获取指定数据库中的表信息,获取指定表中的字段信息

    jdbc获取数据库元数据 package cn.itcast.metadata.test;import org.junit.Before; import org.junit.Test;import j ...

  9. 关于IOS获取本地通讯录信息(包含iOS9.0前后)

    在ios开发当中,获取用户本地的通讯录功能愈加频繁的出现,七两自己也在自己公司的项目当中遇到的获取本地的通讯录信息的功能(俗称"种子用户功能",太可怕了).对此七两总结了自己使用本 ...

最新文章

  1. npm install 报错 汇总_R包安装报错的日常
  2. python网络编程及高并发问题
  3. 解决 MSChart控件 X轴坐标显示不全的问题
  4. JavaScript 数字转汉字+element时间选择器快速选择
  5. 理解TCP的通信原理及IO阻塞
  6. 免费WiFi,仅仅为好久没联系的你们
  7. ASP.NET企业开发框架IsLine FrameWork系列之十四--框架配置信息大全(中)
  8. 网上常用免费WebServices集合
  9. 历史上的甲子年灾难有哪些?
  10. 大数据分析可视化工具怎么选
  11. springmvc04跳转
  12. 微信开发者工具关联gitee账户
  13. Python之仓库管理系统
  14. Linux下sh文件执行权限不够
  15. 宝宝成长季4天-我出生啦!
  16. 解决 WIDOWS 2003 SERVER 玩不了3D游戏
  17. 链队的创建、入队、出队
  18. LayUI使用Echarts实现统计图
  19. Centos7 安装MongoDB
  20. 【菜鸟窝阿里算法专家Chris】当机会出现时,多一种武器,就多一分机会。

热门文章

  1. eclipse启动报错 Java was started but returned exit code=13 解决方法
  2. powershell自动化操作AD域、Exchange邮箱系列(4)—批量导入邮箱/域账号(文件)
  3. 克罗谈投资策略01_期货交易中的墨菲法则
  4. 从中台、数仓与元数据不为人知的3个角度,看数据管理的生与死
  5. 某集团BI决策系统建设方案分享
  6. FineReport新增多项目甘特图示例及操作
  7. linux 系统终端字体改变,linux系统终端修改字体的方法
  8. python学爬虫还是人工_本人初二生,学习Python爬虫,要不要继续深入学习啊?
  9. python ide安装_Python基础学习笔记(一)安装以及IDE的配置
  10. java 64内存不足_window7 64bit解决tomcat内存不足问题