在 2016 年,您如何获得文件的 Finder“种类”?
How do you get the Finder “Kind” for a file, in 2016?
This answer 说要使用 LSCopyKindStringForURL(),它在过去运行良好,但在 OS X v10.11 中被标记为 "deprecated"。
API 文档中没有提及它被弃用的原因。我根本没有在 OS X 10.11 发行说明中看到任何关于 Launch Services API 更改的提及。
您现在应该如何获取文件的 Finder 类型?
如果您转到 header (/System/Library/Frameworks/CoreServices.framework/Frameworks/LaunchServices.framework/Headers/LSInfoDeprecated.h
) 中 LSCopyKindStringForURL()
的声明,您会在注释和弃用属性中找到以下内容:
Use the URL resource property kCFURLLocalizedTypeDescriptionKey or NSURLLocalizedTypeDescriptionKey instead.
这些是分别用于 CFURLCopyResourcePropertyForKey()
或 -[NSURL getResourceValue:forKey:error:]
的资源密钥。
This answer 说要使用 LSCopyKindStringForURL(),它在过去运行良好,但在 OS X v10.11 中被标记为 "deprecated"。
API 文档中没有提及它被弃用的原因。我根本没有在 OS X 10.11 发行说明中看到任何关于 Launch Services API 更改的提及。
您现在应该如何获取文件的 Finder 类型?
如果您转到 header (/System/Library/Frameworks/CoreServices.framework/Frameworks/LaunchServices.framework/Headers/LSInfoDeprecated.h
) 中 LSCopyKindStringForURL()
的声明,您会在注释和弃用属性中找到以下内容:
Use the URL resource property kCFURLLocalizedTypeDescriptionKey or NSURLLocalizedTypeDescriptionKey instead.
这些是分别用于 CFURLCopyResourcePropertyForKey()
或 -[NSURL getResourceValue:forKey:error:]
的资源密钥。