Использование символических ссылок внутри пакетов приложений OS X - PullRequest
0 голосов
/ 14 июля 2009

У меня следующая проблема. У меня есть пакет, который имеет следующую структуру:

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 я больше не могу запустить B.app, дважды щелкнув мышью или позвонив по номеру open B.app

.

Помощь!

EDIT:

Забавно, что все работает, если пакет находится внутри / Приложения, но когда я перемещаю его снаружи / Приложения, он просто восстанавливает фокус на первом экземпляре приложения.

open -n помогает, но это не то, что я хочу:)

1 Ответ

0 голосов
/ 15 июля 2009

Это может быть поведение службы запуска по умолчанию, когда дважды не открываются существующие приложения.

В Leopard попробуйте

open -n B.app 

или если у вас есть утилита запуска:

launch -m B.app
...