Mac:如何分配要使用我的 java .app 应用程序打开的文件扩展名?

Posted

技术标签:

【中文标题】Mac:如何分配要使用我的 java .app 应用程序打开的文件扩展名?【英文标题】:Mac: How to assign a file extension to be opened with my java .app application? 【发布时间】:2011-10-31 21:27:19 【问题描述】:

我创建了一个 Java 应用程序并从中创建了一个 Mac .app 文件,以便在 Mac OS X 上简单地运行。该应用程序可以创建特殊的项目文件并使用扩展名 *.ksdi 保存它们,以便用户可以轻松地运行这些项目文件并编辑它们。

我想做的是让在他的 Mac 上安装应用程序的用户能够双击那些 *.ksdi 文件以自动运行程序并自动加载项目文件。我如何在 Mac 中做到这一点?

我可以通过脚本或类似的方式为我的 Mac 程序分配扩展名,这样用户就不必手动为程序分配扩展名了吗?

更新:试用解决方案:

我在另一篇文章中读到我应该在 *.plist 文件中添加一个密钥来完成此操作,因此我将其添加到其中:

<plist>
    <dict>
        <key>CFBundleDocumentTypes</key>
        <array>
            <dict>
                <key>CFBundleTypeRole</key>
                <string>Viewer</string>

                <key>LSIsAppleDefaultForType</key>
                <true/>

                <key>LSItemContentTypes</key>
                <array>
                    <string>public.ksdi</string>
                </array>
            </dict>
        </array>
    </dict>
</plist>

我保存了 plist 文件,但我不知道如何激活它! 我已经运行了应用程序,重新启动了我的 mac,但是当双击任何 ksdi 文件时,它仍然无法使用程序打开它...有什么帮助吗?

【问题讨论】:

见***.com/questions/1575190/… How to associate file type with MacOS X App without launching it first?的可能重复 谢谢大家,但这些问题没有明确的答案。我应该在 *.plist 文件中添加一个属性来完成这个还是什么? How to associate file type with MacOS X App without launching it first?的可能重复 【参考方案1】:

我使用Install4J 来做这件事,它们真的很容易。

(顺便说一句,我与 Install4j 或公司无关)。

【讨论】:

一个笔记,我输出到dmg,他们可能支持.app,我不确定。【参考方案2】:

根据“exact duplicate”问题之一。

Application Registration

用户系统上所有可用的应用程序都必须注册到 让他们知道 Launch Services 并复制他们的文档绑定和 其他信息进入其数据库。通常不需要 明确地执行此任务,因为各种实用程序和 内置在 Mac OS X 系统软件中的服务会处理它 自动:

内置后台工具,在系统启动或新系统启动时运行 用户登录后,自动搜索应用程序文件夹 系统、网络、本地和用户域,并注册任何新的 它在那里找到的应用程序。 (此操作类似于 在早期版本的 Mac OS 中“重建桌面”。) Finder 当它意识到它们时自动注册所有应用程序, 例如当它们被拖到用户的磁盘上或当用户 导航到包含它们的文件夹。当用户尝试打开 在该文件中找不到首选申请的文件 启动服务数据库,Finder 会显示一个对话框询问用户 选择用于打开文档的应用程序。那么它 在启动之前注册该应用程序。

尽管有这些自动注册实用程序,但有时可能 必须使用 Launch 显式注册应用程序 服务。例如,虽然鼓励开发者打包 他们的应用程序,以便他们可以通过简单地拖动安装 它们到用户的磁盘上,某些应用程序可能需要更多 精心制作的自定义安装软件。在这种情况下,安装程序 应该调用启动服务注册函数之一 LSRegisterFSRef 或 LSRegisterURL 来注册应用程序 明确的。

【讨论】:

如何注册我的应用程序,如第一行所述?我不想使用安装程序,所以我可以注册我的应用程序 + 使用我的问题中指定的 plist 键,一切都会正常吗? 阅读我的回答中提供的链接中的所有说明 Jarrod ... 这真的很有帮助。非常感谢。

以上是关于Mac:如何分配要使用我的 java .app 应用程序打开的文件扩展名?的主要内容,如果未能解决你的问题,请参考以下文章

转载php如何给APP端写接口

如何制作macos sierra安装u盘

如何在我的 Arduino Uno (Mac OSX) 上保持串行地址一致?

如何在 Android Java 中将 MAC 地址转换为 IP?

mac电脑中的macos.app文件如何运行

如何在 Xcode 6 的 XIB Interface Builder 中为 Mac 应用程序分配按钮