Получить изображение человека из адресной книги iPhone - PullRequest
17 голосов
/ 18 января 2010

Как получить изображение человека из адресной книги iPhone?

Ответы [ 3 ]

42 голосов
/ 18 января 2010

Вы можете сделать это так ...

NSData  *imgData = (NSData *)ABPersonCopyImageData(person);

UIImage  *img = [UIImage imageWithData:imgData];

, где person имеет тип ABRecordRef. Теперь, поскольку CFData и NSData являются бесплатными мостовыми соединениями, вы можете просто набрать cast CFData to NSData и получить изображение

Надеюсь, это поможет.

12 голосов
/ 05 августа 2011
(NSData*)ABPersonCopyImageDataWithFormat([targetPeople objectAtIndex:index], kABPersonImageFormatThumbnail)

Это быстрее, так как возвращает миниатюру.

0 голосов
/ 21 января 2015

Слегка обновленный код:

UIImage *image = nil;

@try
{
    CFDataRef cfImage = ABPersonCopyImageData(person);
    // or CFDataRef cfImage = ABPersonCopyImageDataWithFormat(person, kABPersonImageFormatThumbnail);
    if (cfImage)
    {
        image = [UIImage imageWithData:(__bridge NSData*)cfImage];
        CFRelease(cfImage);
    }
}
@catch (NSException *exception)
{
    //...
}
...