如何在启动时启动应用程序

时间:2013-08-27 07:55:12

标签: objective-c xcode macos

我有一个OSX项目(objective-c),我想在启动时运行它。

意思是,我想编写一些植入我的应用程序的代码,以便它在启动时运行。因此,每当用户第一次运行我的应用程序时,它将始终在该用户的启动时启动。

我该怎么做?

非常感谢任何帮助!

2 个答案:

答案 0 :(得分:1)

您必须使用启动代理。

创建一个类似这样的XML文件,并将其放在〜/ Library / LaunchAgents(针对单个用户)或/ Library / LaunchAgents(针对所有用户)中。

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>Label</key>
    <string>com.example.your.program</string>
    <key>ProgramArguments</key>
    <array>
        <string>--some-arg</string>
        <string>--some-other-arg</string>
    </array>
    <key>KeepAlive</key>
    <true/>
    <key>RunAtLoad</key>
        <true/>
    <key>KeepAlive</key>
        <true/>

    <key>StandardErrorPath</key>
        <string>/dev/null</string>
    <key>StandardOutPath</key>
        <string>/dev/null</string>
</dict>
</plist>

然后重新启动启动代理以使用launchctl load ~/Library/LaunchAgents/com.example.your.program.plist

加载文件

答案 1 :(得分:-1)

我不会说这是StackOverflow的问题 无论如何,如果您要做的只是在系统启动时启动cocoa应用程序,您可以使用系统首选项的“用户”窗格完成此操作。

选择您的帐户,切换到“登录元素”窗格,然后添加该应用程序。