4

我在这个网站和谷歌上都做了一些搜索,但没有找到任何信息。我有一个在 Mac OS 中启动 .app 文件的 Java 应用程序。现在我明白 .app 扩展名并不是真正的可执行文件,而是一个应用程序包,其中包含“/Contents/MacOS/”子目录中的可执行文件。

对于我的示例,我将使用应用程序“/Applications/Chess.app”。所以在这种情况下,实际的可执行文件位于“/Applications/Chess.app/Contents/MacOS/”

只是将工作目录设置为“/Applications/Chess.app/Contents/MacOS/”吗?

4

2 回答 2

3

Mac 应用程序通常不能依赖被设置为任何特定内容的工作目录。Xcode 将其设置为一种方式,从 Finder 启动将其设置为另一种方式(通常为 /)。

但是,您不应仅通过在 Contents/MacOS 中执行二进制文件来运行应用程序。您应该使用 Launch Services 或 NSWorkspace(或者,如果其中任何一个失败,则 /usr/bin/open)来启动它们。

于 2012-04-04T17:30:30.277 回答
0

我在 [dictionary] "Java" 下以字符串模式设置的 "WorkingDirectory" [key] 下使用 "$APP_PACKAGE/Contents/..." [value]。希望这可以帮助。

我正在尝试按用户更改位置,所以我一直在那里唯一的问题是您的应用程序的大小会成倍增加,但即使您删除所有内容也不会减少,所以我正在尝试解决它告诉我进展如何。祝你好运。

于 2013-08-07T22:01:13.980 回答