如何让我的菜单栏应用程序在登录时启动?

时间:2016-01-15 05:45:37

标签: swift macos launchd

我制作了一个应用程序,在菜单栏中显示您的IP地址。它没有停靠图标,只能在菜单栏中运行。

我希望此应用在登录时启动。我创建了一个脚本,使用osascript将name.app添加到登录项,但是我不想部署这个应用程序,这不是一个合适的解决方案。

我尝试过关于创建launchd启动代理/ dameon的指南,但是没有一个向我展示如何在Xcode中创建我的应用程序以创建并将plist复制到〜/ Library / LaunchAgents。我可以手动创建它,把它放到位并且它可以工作,但是我如何让用户(只是将我的应用程序从.dmg拖到应用程序文件夹中)来复制启动代理?

1 个答案:

答案 0 :(得分:1)

现在最好的方法是将LoginItem捆绑在app bundle的Contents目录中。然后,您可以使用SMLoginItemSetEnabled()启用它。

Daemons and Services Programming Guide中提供了更多信息和其他选项。