年年有"余"

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 3408|回复: 0

ios开发获取手机通讯录(最简单明了)

[复制链接]
  • TA的每日心情

    2024-10-15 10:05
  • 签到天数: 372 天

    [LV.9]以坛为家II

    发表于 2014-8-20 11:33:26 | 显示全部楼层 |阅读模式
    网上搜索了很多相关资料都写得过于复杂,可我们最常用的只需要用到姓名与电话号码,所以我整理了一下,只需要一个方法搞定!慢慢看吧
    1、导入AddressBook.framework先,然后引用 #import <AddressBook/AddressBook.h>
    2、授权,如果已成功,读取通讯录数据到数组里,否则程序会崩溃
    3、读取方法
    1. - (NSArray *)getContacts
    2. {
    3.    
    4.     // 1、创建对象
    5.     ABAddressBookRef tmpAddressBook = ABAddressBookCreateWithOptions(nil, nil);
    6.    
    7.     // 2、获取通讯录
    8.     CFArrayRef results = ABAddressBookCopyArrayOfAllPeople(tmpAddressBook);
    9.    
    10.     // 3、遍历通讯录
    11.     NSMutableArray *array = [NSMutableArray array];
    12.     for (int i = 0; i < CFArrayGetCount(results); i++){
    13.         // 3.1、获取单条记录
    14.         ABRecordRef person = CFArrayGetValueAtIndex(results, i);
    15.         
    16.         // 3.2、取记录中的名字
    17.         NSString *firstName = (__bridge NSString*)ABRecordCopyValue(person, kABPersonFirstNameProperty);
    18.         NSString *name = (__bridge NSString*)ABRecordCopyValue(person, kABPersonLastNameProperty);
    19.         if (firstName) name = [name stringByAppendingString:firstName];                     // 名字拼接
    20.         
    21.         // 3.3、取记录中的号码
    22.         ABMultiValueRef phones = ABRecordCopyValue(person, kABPersonPhoneProperty);         // 所有号码
    23.         for (int k = 0; k < ABMultiValueGetCount(phones); k++)                              // 遍历取值
    24.         {
    25.             NSString * phone = (__bridge NSString*)ABMultiValueCopyValueAtIndex(phones, k); // 取出号码
    26.             NSDictionary *dict = @{name : phone};                                           // 拼接字典
    27.             [array addObject:dict];                                                         // 加入数组
    28.         }
    29.     }
    30.    
    31.     return array;
    32. }
    复制代码

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    手机版|小黑屋|Archiver|iOS开发笔记 ( 湘ICP备14010846号 )

    GMT+8, 2024-11-24 08:29 , Processed in 0.049671 second(s), 22 queries .

    Powered by Discuz! X3.4

    Copyright © 2001-2021, Tencent Cloud.

    快速回复 返回顶部 返回列表