Подтвердить что ты не робот

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

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

4b9b3361

Ответ 1

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

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

UIImage  *img = [UIImage imageWithData:imgData];

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

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

Ответ 2

(NSData*)ABPersonCopyImageDataWithFormat([targetPeople objectAtIndex:index], kABPersonImageFormatThumbnail)

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

Ответ 3

Немного обновленный код:

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)
{
    //...
}