我遇到了以下问题。我有一个具有以下结构的包:
B.app/Contents/Frameworks -> link to an existing FS location [1] B.app/Contents/Info.plist B.app/Contents/MacOS B.app/Contents/MacOS/AliasBinary -> link to an existing binary called ExistingBinary [2] B.app/Contents/Resources -> link to an existing FS location [3]
链接[1]和[3]只是指向捆绑包外的现有文件系统位置(即目录)的链接。 AliasBinary 是指向另一个我不想复制到捆绑包的应用程序的链接,但是想在多个捆绑包之间共享它。后一个二进制文件称为 ExistingBinary
我遇到的问题是打电话
$ open B.app
会打开应用程序,但前提是 ExistingBinary 的上一个实例未运行。这同样适用于双击B.app。如果之前没有运行 ExistingBinary 的实例,那么一切正常。启动 ExistingBinary 后,我无法再通过双击或致电open B.app
启动B.app
帮助!
编辑:
有趣的事实是,如果捆绑包在/ Applications中,一切都有效,但当我将其移到/ Applications之外时,它只会恢复专注于应用的第一个实例。
open -n有帮助,但那不是我想要的:)
答案 0 :(得分:0)
这可能是两次不打开现有应用程序的默认启动服务行为。
在Leopard中,尝试
open -n B.app
或者如果您有启动实用程序:
launch -m B.app