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

J. *_*coe 2 macos cocoa launch-services osx-elcapitan

这个答案说要使用过去运行良好的LSCopyKindStringForURL(),但它在OS X v10.11中被标记为"已弃用".

API文档中没有提到它被弃用的原因.我根本没有在OS X 10.11发行说明中看到任何启动服务API更改.

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

Ken*_*ses 8

如果你转到LSCopyKindStringForURL()header(/System/Library/Frameworks/CoreServices.framework/Frameworks/LaunchServices.framework/Headers/LSInfoDeprecated.h)中的声明,你会在comment和deprecation属性中找到以下内容:

请改用URL资源属性kCFURLLocalizedTypeDescriptionKey或NSURLLocalizedTypeDescriptionKey.

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