测试应用程序是否可以打开特定类型?

时间:2010-01-23 06:36:12

标签: cocoa file-type uti

在Mac OS X上,如何判断给定的应用程序是否打开特定类型?

我有两个我感兴趣的UTI:public.text和public.image,我有一个应用程序列表。我想按这两种类型过滤列表,因此我有一个文本查看器列表和一个图像查看器列表。

我在SO上看到了一个相关问题,可以获得特定文档类型的所有查看者列表。我可以做到并获得该集合的交集,但我宁愿能够单独询问每个应用程序。

是否有任何Cocoa或Carbon要求?

2 个答案:

答案 0 :(得分:2)

如果您需要给定文档类型的应用程序列表,请使用LSCopyAllRoleHandlersForContentType

如果您需要特定应用程序的文档类型列表,请打开应用程序的Info.plist文件并阅读CFBundleDocumentTypes键。

答案 1 :(得分:0)

Launch Services是你的朋友。但我不认为有任何API可以让特定应用程序支持UTI,所以我建议你使用你已经描述的内容,不幸的是。