我正在使用Mac应用。我最终想在我的应用程序中使用默认应用程序图标。从应用程序的Info.plist和Resource文件夹中,我可以获取.icns文件并将其转换为我需要的图像格式。但我需要知道与特定文件扩展名相关的默认应用程序(如果有的话)。
那么如何获取系统当前与给定文件扩展名关联的默认应用程序?
答案 0 :(得分:1)
不要去挖掘其他应用程序的捆绑包。最适合在您想要提出的问题的抽象级别工作。如果您想获取Finder(或邮件附件等)为特定类型的文件显示的图标,请使用NSWorkspace
iconForFileType:
方法。
答案 1 :(得分:1)
我认为您正在寻找的是OSX启动服务的一部分:LSCopyDefaultApplicationURLForContentType API。这将返回可以打开特定Uniform Type Identifiers的应用的信息。还有一个名为LSCopyDefaultApplicationURLForURL的类似API,用于检查哪个应用打开了特定的已知文件。