Пакет приложений регистрации службы запуска - PullRequest
0 голосов
/ 13 декабря 2011

У меня есть несколько внутренних пакетов приложений внутри моего основного пакета приложений (в разделе Ресурсы).После установки (с помощью Installer) мое приложение помещается в / Applications, но я не могу найти свое "внутреннее" приложение по их идентификаторам пакетов.

Если я вручную перехожу в / Applications, выберите свое приложение иперейдите к его содержимому в Finder, мое «внутреннее» приложение стало видимым.

Я знаю, что lsregister отвечает за регистрацию пакетов приложений, у меня есть этот скрипт в моем постфлайте в pkg:

SREGISTER="/System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/LaunchServices.framework/Versions/A/Support/lsregister"

$LSREGISTER "/Applications/MY.app/Contents/Resources/MyMini.app"

Но мне нужны административные привилегии в моей программе установки, поэтому эта команда выполняется пользователем root и не влияет на текущего пользователя.

Есть ли какое-либо решение этой проблемы?

Спасибо!

Ответы [ 2 ]

1 голос
/ 13 декабря 2011

Вы можете зарегистрировать свои вспомогательные приложения при первом запуске основного приложения, а не во время установки.Вам нужно будет найти их по имени и расположению, а не по идентификатору пакета.И вместо использования инструмента lsregister вы можете использовать функцию LSRegisterURL.Помните, что NSURL* может быть преобразован в CFURLRef по бесплатному мосту.

0 голосов
/ 23 декабря 2011

Кажется, что для этого нет решения. Потому что мне нужно запустить lsreginster для каждого пользователя системы, и вновь созданные пользователи после установки не увидят это приложение помощников.

Единственный способ поместить это приложение вне основного пакета (в подкаталоге / Applications, например)

...