如何通过代码将登录项目添加到山狮osx



我想在Mountain Lion(10.8)中以编程方式添加登录项。

到目前为止,我可以通过编辑这个plist:来添加登录项目

/Users/test/Library/Preferences/loginwindow.plist

以及向AutoLaunchedApplicationDictionary字典添加项目(路径、名称、隐藏)在操作系统中不再工作。登录时不会启动添加到此词典中的项目。我看到登录项目保存在一个名为:com.apple.loginitems.plist 的文件中

但我不知道如何将项目添加到此文件中。我试图用名称、路径、隐藏等参数将该项目添加到CustomListItems字典中,但在登录时没有启动。

有人知道我如何从代码中添加登录项吗?

我知道您希望在用户登录时自动启动程序。

OSX旧版本中,可以通过编辑loginwindow.plist手动添加登录项。苹果公司在操作系统中添加LaunchAgentLaunchDaemon功能时,反对使用这种方法。

由于您使用的是Mountain Lion,启动程序的正确方法是为其创建一个启动项。这是一个.plist文件,您可以使用该文件告诉OS Xa)在b)发生特定事件(例如:登录、注销等)时执行一些操作(例如:启动/some/program.app

你可以在这里找到苹果关于创建LaunchAgents的官方文件。

这看起来像是一个关于现代做事方式的伟大教程:在登录沙箱项目上启动

它从应用程序沙盒设计指南中隐藏的一段开始:

为应用程序创建登录项

要为沙盒应用程序创建登录项,请使用SMLoginItemSetEnabled函数(在ServiceManagement/SMRoginItem.h中声明),如Daemons和Services Programming Guide中的"使用服务管理框架添加登录项"中所述。

(使用应用程序沙盒,无法使用LSSharedFileList.h头文件中的函数创建登录项。例如,无法使用函数LSSharedFileList InsertItemURL。也无法操作启动服务的状态,例如使用函数LSRegisterURL。)

然后从那里滚。。。

最新更新