如何从 iPhone 通讯录中获取一个人的图像?
问问题
8606 次
3 回答
42
你可以这样做......
NSData *imgData = (NSData *)ABPersonCopyImageData(person);
UIImage *img = [UIImage imageWithData:imgData];
哪里person
是类型ABRecordRef
。现在,由于 CFData 和 NSData 是免费桥接的,您可以简单地键入 cast CFData
toNSData
并获取图像
希望这可以帮助。
于 2010-01-18T12:50:45.687 回答
12
(NSData*)ABPersonCopyImageDataWithFormat([targetPeople objectAtIndex:index], kABPersonImageFormatThumbnail)
这更快,因为它返回一个缩略图。
于 2011-08-05T08:31:48.040 回答
0
稍微刷新的代码:
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)
{
//...
}
于 2015-01-21T13:08:05.873 回答