Как вы получаете изображение человека из адресной книги iPhone?
Получить изображение человека из адресной книги iPhone
Ответ 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)
{
//...
}