ios中访问通讯录数据
来源:互联网 发布:移动2g网络的上传速度 编辑:程序博客网 时间:2024/06/05 00:40
1.获取访问授权
<pre name="code" class="objc">#import "AppDelegate.h"#import <AddressBook/AddressBook.h>@interface AppDelegate ()@end@implementation AppDelegate- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { //1.获取授权状态 ABAuthorizationStatus type = ABAddressBookGetAuthorizationStatus(); //授权申请 if (type == kABAuthorizationStatusNotDetermined) { ABAddressBookRef book = ABAddressBookCreateWithOptions(NULL, NULL); ABAddressBookRequestAccessWithCompletion(book, ^(bool granted, CFErrorRef error) { if (granted) { NSLog(@"授权允许"); }else{ NSLog(@"授权拒绝"); } }); //释放book CFRelease(book); } return YES; }
2.RH导入RHAddressBook框架
RHAddressBook框架地址: https://github.com/heardrwt/RHAddressBook
3.获取联系人信息
#import "ViewController.h"#import "AddressBook.h"@interface ViewController ()@end@implementation ViewController- (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after loading the view, typically from a nib.}- (void)didReceiveMemoryWarning { [super didReceiveMemoryWarning]; // Dispose of any resources that can be recreated.}- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event{ //创建通讯录对象 RHAddressBook* book = [[RHAddressBook alloc] init]; //获取通讯录所有人员 NSArray* people = book.people; for (RHPerson *p in people) { //获取人员的firstName NSString* firstName = p.firstName; //获取人员的lastName NSString* lastName = p.lastName; //获取该人员的号码(号码有多个,所以用RHMultiValue) RHMultiValue* phoneNumbers = p.phoneNumbers; NSUInteger phoneNumberCount = phoneNumbers.count; for (int i = 0; i < phoneNumberCount; i++) { //遍历每个号码中的label(比如:手机 家庭 公司) NSString* label = [phoneNumbers labelAtIndex:i]; //遍历出号码 NSString* nember = [phoneNumbers valueAtIndex:i]; NSLog(@"%@, %@ ,%@,%@",firstName,lastName,label,nember); } }}@end
4.注意点
如果你导入RHAddressBook 框架报错,是应为框架中pch文件包含了 #import "RHARCSupport.h" ,所以你包把这个头文件包含到你自己项目的pch文件中. 如果用的是xcode6,请参考xcode6中如何创建pch文件
0 0
- ios中访问通讯录数据
- 关于iOS系统中通讯录的访问
- 关于iOS系统中通讯录的访问
- 关于iOS系统中通讯录的访问
- iOS 访问通讯录
- IOS---访问通讯录
- IOS如何访问通讯录
- iOS 访问通讯录
- iOS 访问通讯录
- iOS -- 访问通讯录
- ios 访问通讯录
- IOS访问通讯录
- IOS如何访问通讯录
- iOS 访问通讯录
- iOS访问通讯录
- ios 通讯录访问权限
- iOS 访问手机通讯录
- Android中访问通讯录,数据的增删改查
- 实战:上亿数据如何秒查
- 单调递增最长子序列 (动态规划经典题)
- 剑指offer--合并两个排序的链表
- 第一天
- 嵌入式 linux第三讲 存储管理实验
- ios中访问通讯录数据
- 第六届蓝桥杯软件大赛A组预赛
- linux系统rpm安装包详解
- 用Maven构建Hadoop项目
- poj1990--我的第一道AC树状数组题
- The typical features of the film faced plywood
- ubuntu 内核源码下载及编译
- UINavigationController的工作原理
- STM32非对称PWM模式实现动态移相(Asymmetric PWM mode的用法)