我有一个 OSX 项目(objective-c),我想在启动时运行它。
意思是,我想编写一些代码来植入我的应用程序,以便它在启动时运行。因此,每当用户第一次运行我的应用程序时,它总是会在该用户启动时启动。
我怎样才能做到这一点?
非常感谢任何帮助!
我有一个 OSX 项目(objective-c),我想在启动时运行它。
意思是,我想编写一些代码来植入我的应用程序,以便它在启动时运行。因此,每当用户第一次运行我的应用程序时,它总是会在该用户启动时启动。
我怎样才能做到这一点?
非常感谢任何帮助!
您必须使用启动代理。
创建一个像这样的 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
我不会说这是 StackOverflow 的问题。
无论如何,如果您想要做的只是在系统启动时启动一个可可应用程序,您可以使用系统首选项的“用户”窗格非常简单地做到这一点。
选择您的帐户,切换到“登录元素”窗格,然后添加应用程序。