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.
Make sure CNContactImageDataAvailableKey
and CNContactThumbnailImageDataKey
is contained in your keysToFetch
and remove the isKeyAvailable
if
clause:
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])
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With