Песочница в pyobjc: логин при запуске

У меня есть приложение pyobjc, которое я упаковываю с py2app. У меня также есть флажок, с помощью которого пользователь может выбрать, чтобы добавить приложение для запуска при перезагрузке системы. Я делал это с LaunchServices, однако, это не работает, когда приложение находится в "песочнице". Я пытаюсь добиться такого поведения с помощью ServiceManagement. http://blog.timschroeder.net/2012/07/03/the-launch-at-login-sandbox-project/. Поскольку я использую pyobjc, я не использую xcode.

Я вручную создал вспомогательное приложение, подписал его и поместил в Contents\Library\LoginItems. Когда я вызываю SMLoginItemSetEnabled('com.*****.HelperApp', True), я вижу, что вспомогательное приложение запущено. В документации говорится, что вспомогательное приложение теперь вызывается всякий раз, когда пользователь входит в систему. Однако этого, похоже, не происходит. Есть ли дополнительный шаг, который требуется? Должно ли вспомогательное приложение запускаться при каждом перезапуске системы или когда пользователь выходит из системы и снова входит в систему?

Тем не менее, я вижу пару ошибок в консоли:

14/10/14 2:47:40.155 pm lsboxd[312]: Not allowing process 611 to launch "/Users/pradeep/desktop_documents/packaging/osx/build/dist/app_name.app/Contents/Library/LoginItems/Login_Helper.app" because the security assessment verdict was denied.
14/10/14 2:47:40.155 pm lsboxd[312]: Not allowing process 611 to register app "/Users/pradeep/desktop_documents/packaging/osx/build/dist/app_name.app/Contents/Library/LoginItems/Login_Helper.app" for launch.

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

0 ответов

Другие вопросы по тегам