5

我正在使用SMLoginItemSetEnabled登录时启动应用程序。一切正常,除了应用程序没有显示在“用户首选项”窗口的“登录项目”下。我已经在 OS X Lion 中尝试过这个。

  1. 这是预期的行为吗?
  2. 有没有办法手动阻止应用程序在登录时启动?/Library/LaunchDaemons我在or中找不到任何东西/Library/LaunchAgents
4

1 回答 1

9

这是预期的行为。 Apple 守护进程和服务编程指南说:

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


是的,只需在 launchd 的 overrides.plist 中将您的包标识符的 Disabled 更改为 true。我给你写了一个命令来做到这一点:

/usr/libexec/PlistBuddy -c 'Set :com.yourcompany.helper-CFBundleIdentifier-here:Disabled true' /var/db/launchd.db/com.apple.launchd.peruser.$UID/overrides.plist
  • 注意:将 com.yourcompany.helper-CFBundleIdentifier-here 替换为您的 BundleIdentifier。
于 2013-02-27T04:53:34.270 回答