我正在尝试编写一段代码,它不是检查许多不同类型的图像文件的文件扩展名,而是查看文件属性。通过搜索文档,我无法弄清楚 KIND:Image
是否真的是一个文件属性,或者只是 Apple 在 FinderApp 中创建的一个构造,以便让用户更轻松地使用。
我编写了一个片段,用于提取扩展名为 jpeg 的文件的属性,并且对于每个文件,文件类型返回为 NSFileTypeRegular
。
let attr = try filemanager.attributesOfItem(atPath: pathConfig+"/"+file) as NSDictionary
if file.hasSuffix(ext) {
print ("Adding \(file) [ \(attr.fileSize()) \(attr.fileType())]")
print ( attr.fileModificationDate() )
}
有人知道 MacOS 是否保留文件所属类别的属性吗?例如图像
、文档
等
最佳答案
要实现与 Finder 中的 Kind 搜索标签类似的功能,您可以使用 UTType
( Link to reference )。
您可以通过使用文件扩展名初始化文件来获取文件的UTType
:
let fileType = UTType(filenameExtension: fileURL.pathExtension)
UTTypes
最酷的一点是它们具有层次结构,例如 UTType.jpeg
是 UTType.image
的子类型,以及 .png
等其他内容。
如果你想检查一个文件是否是任何类型的图像,你可以这样做
let isImage = fileType.conforms(to: .image)
您可以检查列表中您想要支持的“种类”类型,并使用这些 UTTypes
进行过滤
关于swift - MacOS KIND 是如何实现的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/74297382/