首页 > 解决方案 > 显示带有 URL 的文件的元数据

问题描述

我正在构建一个 macOS 应用程序并使用 NSOpenPanel 来访问系统文件结构,这样我就可以访问任何文件并将其导入到我正在制作的应用程序中。我能够获取文件的 URL 和所述 URL 的字符串,但我想知道是否有一种简单的方法可以在 URL 处提取文件的元数据并将其显示在文本字段中?

标签: swiftcocoainterface-buildermetadata

解决方案


您可以使用MDItem...CoreServices 框架中的函数:

import Foundation
import CoreServices

let path = someURL.path
if let mditem = MDItemCreate(nil, path as CFString),
   let mdnames = MDItemCopyAttributeNames(mditem),
   let mdattrs = MDItemCopyAttributes(mditem, mdnames) as? [String:Any] {
    print(mdattrs)
    print("Creator: \(mdattrs[kMDItemCreator as String] as? String ?? "Unknown")")
} else {
    print("Can't get attributes for \(path)")
}

有关更多详细信息,请参阅核心服务框架的文件元数据部分。


推荐阅读