3

我在这里阅读了许多关于在登录时启动我的应用程序的问题。我已经多次遵循这个很棒的教程。该教程确实有效。但...

使用帮助应用程序并使用它进行注册的一个副作用SMLoginItemSetEnabled是我的应用程序没有显示在系统偏好设置中的用户登录项中。

App Store 中有几个应用程序(例如 PopClip 和 Dash)可以做我想做的事情。我就是想不通怎么...

更新:我从 Dash 开发人员那里得知 Dash 实际上没有被沙盒化。他还认为 PopClip 也不是。这可以解释事情...... https://alpha.app.net/kapeli/post/3975968

更新#2:我刚刚从 PopClip 开发人员那里得到确认,它确实也没有被沙盒化。https://twitter.com/pilotmoon/status/313746294361427968

在最近的 2 次更新中,我想答案很明确。截至今天,沙盒应用程序无法实现这一点。

4

2 回答 2

1

希望还不算太晚。

在 Apple 的“守护进程和服务编程指南”中:

添加登录项

添加登录项有两种方法:使用Service Management framework, 和使用共享文件列表。

使用服务管理框架安装的登录项在系统偏好设置中不可见,只能由安装它们的应用程序删除

使用共享文件列表安装的登录项目在系统偏好设置中可见;用户可以直接控制它们。如果您使用此 API,则用户可以禁用您的登录项,因此与其通信的任何其他应用程序都应该具有合理的回退行为,以防登录项被禁用。

于 2014-06-22T15:51:10.107 回答
0

在沙盒环境中,登录项中只能安装 Helper 应用程序。您需要创建一个,存储在Contents/Library/LoginItems主应用程序的文件夹中。

然后,您可以使用SMLoginItemSetEnabled将帮助程序设置为登录项并要求登录项启动主应用程序。

于 2013-04-08T00:01:00.070 回答