简体   繁体   English

联系人的图像没有获取

[英]Image of contacts is not fetching

I am using this code to fetch contact image from device but its not printing any output. 我正在使用此代码从设备获取联系人图像,但它不打印任何输出。

if contact.isKeyAvailable(CNContactImageDataKey) {
    if let contactImageData = contact.thumbnailImageData {
        print("image \(String(describing: UIImage(data: contactImageData)))")
    } else {
        print("No image available")
    }
} else {
    print("No Key image available")
}

but it is printing only "No Key image available" though some of my contacts have images . 但它只打印“没有关键图像可用”,虽然我的一些联系人有图像。 i tried imageData instead of thumbnailImageData but showing same results. 我尝试使用imageData而不是thumbnailImageData,但显示相同的结果。

Make sure CNContactImageDataAvailableKey and CNContactThumbnailImageDataKey is contained in your keysToFetch and remove the isKeyAvailable if clause: 确保CNContactImageDataAvailableKeyCNContactThumbnailImageDataKey包含在你的keysToFetch并删除isKeyAvailable if条款:

if let imageData = contact.thumbnailImageData {
    print("image \(String(describing: UIImage(data: imageData)))")
} else {
    print("No image available")
}

Add Keys to your fetch request (image keys missing) 添加密钥到您的提取请求(图像密钥丢失)

 let keys = [CNContactGivenNameKey, CNContactFamilyNameKey, CNContactPhoneNumbersKey, CNContactImageDataAvailableKey, CNContactThumbnailImageDataKey]
 let request = CNContactFetchRequest(keysToFetch: keys as [CNKeyDescriptor])

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM