2016年,你如何获得文件的Finder“Kind”?

问题描述:

This answer表示使用LSCopyKindStringForURL(),它在过去很棒,但在OS X v10.11中标记为“已弃用”。2016年,你如何获得文件的Finder“Kind”?

API文档中没有提及它被弃用的原因。我根本没有在OS X 10.11发行说明中看到有关Launch Services API更改的任何提及。

你现在应该如何获得Finder类型的文件?

如果你去的LSCopyKindStringForURL()在头(/System/Library/Frameworks/CoreServices.framework/Frameworks/LaunchServices.framework/Headers/LSInfoDeprecated.h)声明,你会发现在注释和弃用的属性,执行以下操作:

使用URL资源属性kCFURLLocalizedTypeDescriptionKey或NSURLLocalizedTypeDescriptionKey代替。

这些是分别与CFURLCopyResourcePropertyForKey()-[NSURL getResourceValue:forKey:error:]一起使用的资源密钥。