从iphone应用程序中的地址簿中获取照片

时间:2012-02-28 19:49:40

标签: iphone ios

我想在我的iphone应用程序中获取联系人姓名,地址簿中的照片。我能够获得联系人并存储到数组中。但现在知道如何获取联系人照片。我使用的代码如下。

ABAddressBookRef ab=ABAddressBookCreate();
NSArray *arrTemp=(NSArray *)ABAddressBookCopyArrayOfAllPeople(ab);  

arrContact=[[NSMutableArray alloc] init];
for (int i=0;i<[arrTemp count];i++) 
{
    NSMutableDictionary *dicContact=[[NSMutableDictionary alloc] init];
    NSString *str=(NSString *) ABRecordCopyValue([arrTemp objectAtIndex:i], kABPersonFirstNameProperty);
    @try 
    {
        [dicContact setObject:str forKey:@"name"];
    }
    @catch (NSException * e) {
        [dicContact release];
        continue;
    }
    [arrContact addObject:dicContact];
    NSLog(@"mohit inside the loop");
    [dicContact release];
}

我想在该数组(arrContacts)中获取联系人照片和名称,然后在表格中显示它们。请给我指导。谢谢

2 个答案:

答案 0 :(得分:6)

在ARC模式下

 NSData  *imgData = (__bridge_transfer NSData *) ABPersonCopyImageDataWithFormat(record, kABPersonImageFormatThumbnail);

其中record是类的对象

ABRecordRef

希望这有帮助

答案 1 :(得分:4)

在iOS 4+中,您可以通过以下方式获取图像:

ABPersonCopyImageDataWithFormat(person, kABPersonImageFormatOriginalSize);

ABPersonCopyImageData(person);