objective-c - 如何在启动时启动应用程序

标签 objective-c xcode macos

<分区>

我有一个 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 加载您的文件

关于objective-c - 如何在启动时启动应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18459964/

相关文章:

objective-c - Cocoa 中的 XML 模式绑定(bind)/对象模型框架

当应用程序处于后台时,IOS 委托(delegate)不起作用

css - :hover in Safari don't "hover-out"

macos - 使用 $HOME/Application 文件夹创建 dmg 安装程序

swift - 将 FirebaseCommunity pod 与 macOS 集成

ios - 使用未声明的标识变量

ios - Objective-C 中的 "@private"是什么意思?

ios - 在 iOS 中渲染水彩画

objective-c - 捆绑 ID 和 SKU 编号

ios - 架构 armv7 iOS 7.0 的 undefined symbol