iphone - 以编程方式访问 iOS 中的地址簿?

标签 iphone ios objective-c ipad device

<分区>

目前我正在开发一个应用程序,它将使用设备通讯簿中可用的联系人。

我想通过获取联系人列表。地址簿,每个联系人旁边都有复选框选项。谁能告诉我该怎么做?

最佳答案

查看 ABAddressBook 框架。获取联系人列表作为数组并在 UItableview 中填充此列表,您可以使用 UITableViewCellAccessoryCheckmark 显示选定的联系人。

请参阅下面的代码。它返回一个包含联系人的数组。这里的 AddressObject 是模态类。

-(NSArray*)addressBookLoader
{
    CFErrorRef *error = NULL;

    NSMutableArray *arrayofAddressClassObjects =[[NSMutableArray alloc]init];

    ABAddressBookRef addressBook = ABAddressBookCreateWithOptions(NULL,error);

    ABRecordRef source = ABAddressBookCopyDefaultSource(addressBook);
    CFArrayRef sortedPeople =ABAddressBookCopyArrayOfAllPeopleInSourceWithSortOrdering(addressBook, source, kABPersonSortByFirstName);

    //RETRIEVING THE FIRST NAME AND PHONE NUMBER FROM THE ADDRESS BOOK

    CFIndex number = CFArrayGetCount(sortedPeople);

    NSString *firstName;
    NSString *phoneNumber ;

    for( int i=0;i<number;i++)
    {

        ABRecordRef person = CFArrayGetValueAtIndex(sortedPeople, i);
        firstName = (__bridge NSString *)ABRecordCopyValue(person, kABPersonFirstNameProperty);
        ABMultiValueRef phones = ABRecordCopyValue(person, kABPersonPhoneProperty);
        phoneNumber = (__bridge NSString *) ABMultiValueCopyValueAtIndex(phones, 0);

        if(phoneNumber != NULL)
        {

            AddressObject *obj = [[AddressObject alloc]init];
            obj.contactName = firstName;
            obj.contactNumber = phoneNumber;

            [arrayofAddressClassObjects addObject:obj];

        }


    }

    NSLog(@"x=%@",arrayofAddressClassObjects);

    return arrayofAddressClassObjects;

}

关于iphone - 以编程方式访问 iOS 中的地址簿?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15495387/

上一篇:ios - 从 UIButton 持续发送消息

下一篇:ios - 为什么这个纹理在 iOS OpenGL ES 2.0 中不重复?

相关文章:

ios - 从详细 View 禁用/启用后退按钮

iphone - 如何截取 View 的屏幕截图并通过电子邮件发送?

ios - 更新 UILabel 看起来像是在浪费性能

ios - 加速度计数据不正确,延迟了几秒钟

ios - 在后台执行游戏中的评分任务 Objective-c

iphone - IOS:我可以在xcode中通过恢复id获取对象吗?

iphone - 从相机拍摄图像时闪烁闪光灯

iphone - iPad 和网站自动调整大小/缩放

ios - 导航到另一个 ViewController 时,UITableView 行有问题

iphone - 将对象存储到 NSMutableArray