显示 URL 文件的元数据
Show metadata of file with URL
我正在构建一个 macOS 应用程序并使用 NSOpenPanel 来访问系统文件结构,这样我就可以访问任何文件并将其导入到我正在制作的应用程序中。我能够获取文件的 URL 和 URL 的字符串,但我想知道是否有一种简单的方法可以在 URL 处提取文件的元数据,并且在文本字段中显示它?
您可以使用 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)")
}
有关详细信息,请参阅核心服务框架的 File Metadata 部分。
我正在构建一个 macOS 应用程序并使用 NSOpenPanel 来访问系统文件结构,这样我就可以访问任何文件并将其导入到我正在制作的应用程序中。我能够获取文件的 URL 和 URL 的字符串,但我想知道是否有一种简单的方法可以在 URL 处提取文件的元数据,并且在文本字段中显示它?
您可以使用 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)")
}
有关详细信息,请参阅核心服务框架的 File Metadata 部分。