如何使用LaunchDaemons(启动)启动Program.app?

Alo*_*ius 2 macos launchd

我将以下com.apple.test.plist文件放置在该文件夹中:

/系统/库/启动守护程序

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
        <key>Label</key>
        <string>com.apple.Spotlight</string>
        <key>ProgramArguments</key>
        <array>
            <string>/Users/todd/Dropbox/client/CLIENT.BUILDS/MAC/v0.1/ApplicationTest.app</string>
        </array>
        <key>RunAtLoad</key>
        <true/>
</dict>
</plist>
Run Code Online (Sandbox Code Playgroud)

但是由于某种原因,当我使用用户todd登录时,ApplicationTest.app无法启动。

有任何想法吗?

LCC*_*LCC 5

该密钥ProgramArguments需要一个可执行文件,但是您提供了一个应用程序捆绑包,该捆绑包是一个精美的目录。为了启动应用程序,您必须将启动指向捆绑包中的可执行文件:

<key>ProgramArguments</key>
<array>
<string>/Users/todd/Dropbox/client/CLIENT.BUILDS/MAC/v0.1/ApplicationTest.app/Contents/MacOS/ApplicationTest</string>
</array>
Run Code Online (Sandbox Code Playgroud)

或者,使用open(1)命令来运行应用程序:

<key>ProgramArguments</key>
<array>
<string>/usr/bin/open</string>
<string>-W</string>
<string>/Users/todd/Dropbox/client/CLIENT.BUILDS/MAC/v0.1/ApplicationTest.app</string>
</array>
Run Code Online (Sandbox Code Playgroud)