我已经阅读了很多关于在登录时启动我的应用程序的问题。我多次提到这个awesome tutorial。该教程确实有效。但是...
使用帮助应用程序并使用SMLoginItemSetEnabled
注册它的一方面影响是我的应用程序未显示在系统偏好设置中用户的登录项目内。
App Store中有几个应用程序(例如PopClip和Dash)可以执行我想要做的事情。我只是想不出来......
更新:我从Dash开发人员那里发现Dash实际上没有沙盒。他还认为PopClip也不是。这可以解释一些事情...... https://alpha.app.net/kapeli/post/3975968
UPDATE#2 :我刚收到PopClip dev的确认,它确实没有沙箱。 https://twitter.com/pilotmoon/status/313746294361427968
最后2次更新,我想答案很清楚。截至今天,使用Sandboxed应用程序无法实现此目的。
答案 0 :(得分:1)
希望现在还为时不晚。
在Apple的“Daemons and Services Programming Guide”中:
添加登录项
有两种方法可以添加登录项:使用
Service Management framework
和使用共享文件列表。使用服务管理框架安装的登录项在“系统偏好设置”中不可见,只能由安装它们的应用程序删除。
使用共享文件列表安装的登录项在“系统偏好设置”中可见;用户可以直接控制它们。如果您使用此API,则您的登录项可以被用户禁用,因此与其通信的任何其他应用程序都应该具有合理的回退行为,以防登录项被禁用。
答案 1 :(得分:0)
在沙盒环境中,只能在登录项中安装Helper应用程序。您需要创建一个,存储在主应用程序的Contents/Library/LoginItems
文件夹中。
然后,您可以使用SMLoginItemSetEnabled
将帮助程序设置为登录项,并要求登录项启动主应用程序。