获取NSURL以获取联系人的图像数据

时间:2015-05-08 07:52:19

标签: ios objective-c uiimagepickercontroller nsurl abaddressbook

我需要获取联系人存储图像的参考URL。

如果我从UIImagePickerController获取图片,我可以通过这样做来实现。

NSURL *imageURL = [info objectForKey:UIImagePickerControllerReferenceURL];

但是如何从地址簿中获取此联系人图像的NSURL?

UIImage *contactImage = [UIImage imageWithData:CFBridgingRelease(ABPersonCopyImageData(ref))];

即。获取contactImage的参考网址。

1 个答案:

答案 0 :(得分:0)

您问题中的ref参数不是NSURL,而是ABRecordRef,即对地址簿记录的引用。您首先使用

等代码打开地址簿
CFErrorRef error = nil;
ABAddressBookRef addressBookRef = ABAddressBookCreateWithOptions (NULL, &error);

然后使用例如找到所需的人

ABRecordRef ref = ABAddressBookGetPersonWithRecordID (addressBookRef,recordID);  

这为您提供了所需的ref