实际上,我阅读了以下文件:
我不太明白,有谁知道该怎么办?
而且,这是什么意思:
注意:在调用SMLoginItemSetEnabled函数之前,首先通过使用帮助应用程序包的URL调用LSRegisterURL函数来注册Launch Services.
有没有关于如何使用LSRegisterURL和SMLoginItemSetEnabled的示例?
我正在开发一个大多数用户选择"在登录时启动"的OS X应用程序,这是您在菜单栏中找到的那种.
为了在登录时启动它,我正在使用SMLoginItemSetEnabled启动LoginHelper应用程序来打开主应用程序,如本教程所述.
该应用程序无法启动登录时只为少数用户.
我无法重现这个或跟踪原因,但我发现(在用户的机器上):
在应用程序登录时删除/Root/_com.apple.SMLoginItemBookmarks/[myapp]并/Root/[myapp]打开/var/db/launchd.db/com.apple.launchd.peruser.$UID/overrides.plist然后重置启动修复了该问题.此外,我们对文件进行了差异化Data,书签上的内容也发生了变化.
作为参考,我在这里找到了关于overrides.plist的信息.
由于该应用程序同时具有Mac App Store和直接下载版本,因此我怀疑应用程序的多个副本设置为自动登录时启动可能是导致失败的原因,也许这些"书签"正在尝试打开另一个实例应用程序,可能会或可能不会被删除.
现在问题,只要这个应用程序需要保持沙盒:
注意:这是我在StackOverflow上的第一个问题,如果我没有遵循一些建议的礼节,请原谅.