[转]IOS如何访问通讯录
来源:互联网 发布:大数据的定义是什么 编辑:程序博客网 时间:2024/05/29 11:06
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开发笔记(12)IOS如何访问通讯录
- IOS开发笔记(12)IOS如何访问通讯录
- iOS 访问通讯录
- IOS---访问通讯录
- iOS 访问通讯录
- iOS 访问通讯录
- iOS -- 访问通讯录
- ios 访问通讯录
- IOS访问通讯录
- iOS 访问通讯录
- iOS访问通讯录
- ios 通讯录访问权限
- 重建二叉树
- Android设置透明、半透明等效果
- 【我们都爱Paul Hegarty】斯坦福IOS8公开课个人笔记30 ScrollView Demo实战
- week14_2.cpp
- ECMA-262,第 5 版。最新 JavaScript 规范 了解 ECMAScript 规范的历史,查看它的众多重要新特性和新概念。
- [转]IOS如何访问通讯录
- NSString常用方法
- 屏幕各尺寸的代码方式获取
- 企业安全之WiFi篇
- css背景图片位置采点工具 css sprites
- Java静态变量初始化时机
- java 汉字排序(java.text.Collator)
- Tomcat 7优化前及优化后的性能对比
- ImageLoader 基本介绍及使用