iosswift3uiimagecncontactstore

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.


Solution

  • 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")
    }