【问题标题】:Get NSURL for image data of contact获取联系人图像数据的 NSURL
【发布时间】:2015-05-08 07:52:19
【问题描述】:

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

如果我从 UIImagePickerController 获取图像,我只需这样做即可。

NSURL *imageURL = [info objectForKey:UIImagePickerControllerReferenceURL];

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

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

即获取contactImage 的参考网址。

【问题讨论】:

    标签: ios objective-c uiimagepickercontroller nsurl abaddressbook


    【解决方案1】:

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

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

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

    ABRecordRef ref = ABAddressBookGetPersonWithRecordID (addressBookRef,recordID);  
    

    这将为您提供所需的ref

    【讨论】:

    • 我不认为你理解我的问题,也许我不够清楚。我知道refABRecordRef。我的目标是获取从ABRecordRef 获得的联系人图像的NSURL
    • 抱歉,我不清楚。我相信你不能得到这样的 NSURL。据我所知,这些图像存储在数据库中,无法通过 URL 访问。
    • 我明白了,您知道其他选择吗?我正在使用第三方 SDK,它利用NSURL 发送图像。
    • 也许您可以将图像保存到临时文件,使用此 URL,然后在回调中删除该文件?我知道这很丑陋,但我没有其他想法......
    • 是的,我想到了,我想我现在必须这样做。感谢您的帮助!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-02-07
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多