3

我正在尝试从我的 launchd 守护程序执行 Apple 脚本。我的脚本只有一行,如下所示。

say "Message From Daemon!"

这总是失败并抛出此错误消息“文件未找到某些对象”。

知道为什么会这样吗?如果我从 xcode(不是通过 launchd 启动它)和在用户上下文中运行的任何其他应用程序运行相同的脚本,则相同的脚本可以正常工作。

4

2 回答 2

1

不允许使用NSSound依赖和守护进程播放声音连接到窗口服务器。window server

我假设say命令有同样的问题。(此工具使用语音合成管理器将输入文本转换为可听语音,并通过系统偏好设置中选择的声音输出设备播放或将其保存到 AIFF 文件。)

于 2014-08-22T12:03:59.143 回答
0

我猜你在尝试同样的事情时遇到了同样的问题。.plist 文件中的路径需要更深入地指向 applescript 应用程序。以下是 .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.namespace.script_name</string>
        <key>Program</key>
        <string>/Applications/script_name.app/Contents/MacOS/applet</string>
        <key>LowPriorityIO</key>
        <true/>
        <key>Nice</key>
        <integer>1</integer>
        <key>StartInterval</key>
        <integer>7200</integer>
    </dict>
</plist>
于 2014-08-14T22:34:03.997 回答