使用 Launchd 运行 Applescript 应用程序

使用 Launchd 运行 Applescript 应用程序

我创建了一个 Applescript 应用程序(称为 Print Release),运行时没有问题(代码如下):

do shell script "rm -R /Users/<account>/release.zip; rm -R /Users/<account>/release; curl -L https://URL/to/webserver/release.zip -o /Users/<account>/release.zip; unzip -o /Users/<account>/release.zip -d /Users/<account>; rm -rf /Users/<account>/__MACOSX; /Users/<account>/release/pc-release-mac.command --config config.properties"

我现在正在尝试创建一个 plist 文件(名为 com.papercut.release.agent.plist),以便我可以让它在加载时运行,并在用户关闭程序时自动重新启动。当我使用终端加载 plist 文件(如下所示)时,我收到“无此文件或目录”错误。

<?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.papercut.release.agent</string>
      <key>ProgramArguments</key>
      <array>
          <string>/Applications/Print Release.app/Contents/MacOS/Application Stub</string>
      </array>
      <key>RunAtLoad</key>
      <true/>
      <key>KeepAlive</key>
      <true/>

我正在使用以下代码尝试使用终端加载 plist 文件:

launchctl load com.papercut.release.agent.plist

我也尝试过:

launchctl load /Library/LaunchAgents/com.papercut.release.agent.plist

如果我可以让应用程序仅在负载时运行并且只为 1 个特定帐户而不是所有帐户保持活动状态,那就太好了,但我不知道如何做到这一点。

任何帮助将不胜感激。

相关内容