将文件扩展名与我的应用程序相关联

Phr*_*ogz 5 macos file-extension

我知道如何手动将特定文件或通用扩展名与特定 OS X 应用程序相关联。(获取信息 > 打开方式 > 其他...)

我知道如何在 OS X 中将带有扩展名的文件拖放到“不受支持”的应用程序上。(拖动应用程序时按住命令选项)

作为 OS X 应用程序的作者,我如何指定我的应用程序知道如何打开特定的文件扩展名?

  • 我希望我的用户不需要使用命令选项进行拖放。
  • 我希望我的用户在选择应用程序打开我的扩展程序时看到我的应用程序列在“推荐的应用程序”而不是“所有应用程序”下。
  • 理想情况下,我希望我的用户看到带有我的(唯一的,尚未关联的)扩展名的文件神奇地显示正确的图标,并在将.app其拖入 Applications 文件夹后立即使用我的应用程序打开。

我看过“MacOSX - 文件扩展名与应用程序关联 - 以编程方式”,但我不想让用户在安装后运行安装程序或 shell 脚本。

Par*_*fna 6

要声明对文件类型的支持,您的应用程序必须在其 Info.plist 中包含CFBundleDocumentTypes键

然后实施

- application:openFile:(用于单个文件拖放)

- application:openFiles:(多个文件拖放)

查看Mac 版基于文档的应用程序编程指南中的完成信息属性列表部分