I'm trying to read the
URLResourceKey.customIconKey
and URLResourceKey.thumbnailKey
file attributes with a Swift 4 app; as you guess I have some issue because no NSImage
will be returned.Questions: Does the two above keys refers to the custom icon (i.e. the Adobe Acrobat documents icon) and the thumbnails of the png / jpeg files?
If it's not the case, what the two keys really refers to?
Apple documentation has a really short description and google gave no results about.
By the way, here is the code I'm working on.
// Get file informations | |
let requiredAttributes : Set = [URLResourceKey.nameKey, URLResourceKey.creationDateKey, URLResourceKey.contentModificationDateKey, URLResourceKey.fileSizeKey, URLResourceKey.isPackageKey, URLResourceKey.thumbnailKey, URLResourceKey.customIconKey] | |
do { | |
let properties = try localURL.resourceValues(forKeys: requiredAttributes) | |
metadata.name = properties[URLResourceKey.nameKey] as? String ?? "" |
let customIcon = properties[URLResourceKey.customIconKey] as? NSImage ?? nil | |
if customIcon != nil { | |
let saveURL = URL(fileURLWithPath: "/Users/fpiraneo/Desktop/fileicon.png") | |
try customIcon!.savePNGRepresentationToURL(url: saveURL) | |
} |
let customThumbnail = properties[URLResourceKey.thumbnailKey] as? NSImage ?? nil | |
if customThumbnail != nil { | |
let saveURL = URL(fileURLWithPath: "/Users/fpiraneo/Desktop/filethumbnail.png") | |
try customThumbnail!.savePNGRepresentationToURL(url: saveURL) | |
} | |
} catch { | |
let errorDescription = "Error reading file attributes: \(localURL.absoluteString)" | |
comLog.addError(errorDescription) | |
return | |
} |
Thank you for your help.