iOS 获取通讯录里边的电话号码AddressBook
1 首先导入库 <AddressBook/AddressBook.h>
2 然后在导入#import <AddressBook/AddressBook.h>文件
3 声明 @property (nonatomic,assign) ABAddressBookRef addressBook;//电话簿
并进行初始化 self.addressBook = ABAddressBookCreateWithOptions(NULL, NULL);
4 然后进行获取通讯录的操作
ABAddressBookRequestAccessWithCompletion(self.addressBook, ^(bool granted, CFErrorRef error) {
if(!granted)
{
NSLog(@"未获得访问权限");
}
//权限状态
ABAuthorizationStatus status = ABAddressBookGetAuthorizationStatus();
if(status!=kABAuthorizationStatusAuthorized)
{
NSLog(@"未获得通讯录权限");
}
//取得记录
CFArrayRef allPeopleCF = ABAddressBookCopyArrayOfAllPeople(self.addressBook);
NSMutableArray *allPeople = (__bridge NSMutableArray *)(allPeopleCF);
//过滤没用的号码
for (int i = ; i<allPeople.count; i++) {
//获得记录
ABRecordRef recordRef = (__bridge ABRecordRef)(allPeople[i]);
//获得姓
NSString *firstName = (__bridge NSString *)(ABRecordCopyValue(recordRef, kABPersonFirstNameProperty));
//获得名
NSString *lastName = (__bridge NSString *)(ABRecordCopyValue(recordRef, kABPersonLastNameProperty));
//获得电话号码
ABMultiValueRef phoneNumbersRef = ABRecordCopyValue(recordRef, kABPersonPhoneProperty);
//获得电话号码的长度
long count = ABMultiValueGetCount(phoneNumbersRef);
//定义一个字符串用来接收电话号码
NSString *numStr = @"";
if (count>) {
//将ABMultiValueRef转换成nsstring类型的
numStr = (__bridge NSString *)(ABMultiValueCopyValueAtIndex(phoneNumbersRef, ));
//去掉86 - 还有空格
numStr = [numStr stringByReplacingOccurrencesOfString:@"+86" withString:@""];
numStr = [numStr stringByReplacingOccurrencesOfString:@"-" withString:@""];
numStr = [numStr stringByReplacingOccurrencesOfString:@" " withString:@""];
}
//如果最后的是11位 就表示符合条件
if (numStr.length == ){
// //将电话号放在可变字符串里边方便作为参数
// if(i ==allPeople.count-1){
// [self.allPhoneNum appendString:[NSString stringWithFormat:@"%@",numStr]];
// }else{
// [self.allPhoneNum appendString:[NSString stringWithFormat:@"%@,",numStr]];}
//
// NSLog(@"self.allPhoneNum:%@",self.allPhoneNum);
//将电话号码存起来
[self.bookdatas addObject:numStr];
}
}
});
然后用bookDatas 在tableview中进行展示就可以了
iOS 获取通讯录里边的电话号码AddressBook的更多相关文章
- ios 获取通讯录的所有信息
iOS获取通讯录全部信息 ABAddressBookRef addressBook = ABAddressBookCreate(); CFArrayRef results = ABAddressBoo ...
- IOS 获取通讯录中信息
获取通讯录中信息 一. 我们设置一个ABAddressBookRef类型的属性addressBook. 二. 要获得通讯录中的信息,我们需要获取访问通讯录的权限. 在运行下面的获取权限的方法的时候,系 ...
- iOS获取通讯录所有联系人信息
以下是2种方式: 第一种方法: GetAddressBook.h #import <Foundation/Foundation.h> @interface GetAddressBook : ...
- iOS 获取通讯录权限的时机
建议将获取通讯录权限的代码放到 -(void)viewDidAppear:(BOOL)animated 或 -(void)viewWillAppear:(BOOL)animated 假如放在 view ...
- iOS获取通讯录 电话号码与姓名
// 还是导入 #import <AddressBook/AddressBook.h> - (void)fetchAddressBookBeforeIOS9{ ABAddressBookR ...
- iOS 获取通讯录中联系人的所有属性 by - zfqj
1 ABAddressBookRef addressBook = ABAddressBookCreate(); 2 3 CFArrayRef results = ABAddressBookCopyAr ...
- iOS有关通讯录操作
一.首先获取用户通讯录授权信息. 在AppDelegate中导入#import <AddressBook/AddressBook.h>框架,在下列方法中获取授权信息. - (BOOL)ap ...
- 利用AddressBook.framework框架获取iOS系统通讯录数据
此方法是使用AddressBook.framework框架获取通讯录信息 第一步.在info.plist文件里面配置访问权限 第二步.导入头文件 #import <AddressBook/Add ...
- React Native之获取通讯录信息并实现类通讯录列表(ios android)
React Native之获取通讯录信息并实现类通讯录列表(ios android) 一,需求分析 1,获取通讯录信息,筛选出通讯录里有多少好友在使用某个应用. 2,获取通讯录信息,实现类通讯录,可拨 ...
随机推荐
- css的定位机制
牛腩新闻发不系统中遇到了CSS(Cascading style sheets),第一次接触,比较陌生还!因为CSS很多关于元素定位的问题,并且很多情况下元素的位置以像素精度计.一个不小心就很头疼,为此 ...
- 14.5.5.3 How to Minimize and Handle Deadlocks 如何减少和处理死锁
14.5.5.3 How to Minimize and Handle Deadlocks 如何减少和处理死锁 这个部分建立在概念信息关于deadlocks 在章节 14.5.5.2, "D ...
- [LeetCode#246] Missing Ranges Strobogrammatic Number
Problem: A strobogrammatic number is a number that looks the same when rotated 180 degrees (looked a ...
- poj2482
(题外话:这题这是ACMer的福利啊……)我非常不擅长做矩形类的数据结构一般来说,二维的问题我们要转化为一维来考虑感觉一般的手法是对一维排序,并且线性扫描这一维,然后用各种数据结构维护另一维上的最优值 ...
- 【转】ButterKnife基本使用--不错
原文网址:http://www.cnblogs.com/mengdd/archive/2015/06/23/4595973.html Butter Knife处理字段和方法绑定. 配置: 用gradl ...
- codeforces --- 115A
A. Party time limit per test 3 seconds memory limit per test 256 megabytes input standard input outp ...
- HDOJ1021题 Fibonacci Again 应用求模公式
Problem Description There are another kind of Fibonacci numbers: F(0) = 7, F(1) = 11, F(n) = F(n-1) ...
- 苹果Think Different广告
电视广告版: Here’s to the crazy ones. The misfits. The rebels. The troublemakers. The round pegs in the s ...
- MT9M021/MT9M031总结
MT9M021/MT9m031在低光照度下和捕捉移动场景有非常优异的表现,属于近红外摄像头, S1: Aptina's MT9M021/MT9M031 sensor is capable of a m ...
- Traffic Lights - SGU 103(最短路)
题目大意:有一个城市的路线图,有N个交叉点,每两个交叉点之间只有一条路,现在想从交点u去交点v,不过这个路的交通比较特别,每个路都有一个交通灯,灯有两种颜色,蓝色和紫色,例如一条路线在交点s,t之间, ...