显示带有URL的文件的元数据

时间:2018-10-01 04:20:06

标签: swift cocoa interface-builder metadata

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

1 个答案:

答案 0 :(得分:2)

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

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

有关更多详细信息,请参阅Core Services框架的File Metadata部分。