2009-07-14 24 views
0

我遇到以下问题。我有具有以下结构的束:使用OS X应用程序包内的符号链接

 
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已启动,我无法再通过双击或拨打电话0123.

帮助!

编辑:

有趣的事实是,一切正常,如果包是内部/应用程序,但是当我外面移动它/应用程序,它只是恢复专注于应用程序的第一个实例。

开放-n帮助,但是这不是我想要的东西:)

回答

0

这可能是不开放现有的应用程序两次的默认启动的服务行为。

在Leopard中,尝试

open -n B.app 

,或者如果你有启动程序:

launch -m B.app