Osascript - 从守护程序运行时出现语法错误(LiveCode应用程序)

时间:2012-11-15 21:21:00

标签: launchd osascript livecode

我有一个LiveCode应用程序,作为更大目的的一部分,检查“最前面”应用程序的名称(即菜单栏中的名称)。我正在通过shell运行LiveCode:

osascript -e 'tell application "System Events" to return name of every process whose frontmost is true'

当应用程序作为正常进程运行时,它可以正常工作,但是当它由launchctl作为守护进程启动时,它不起作用。我收到了错误

  

61:68:语法错误:期望的类名但找到了标识符(-2741)。

就像我说的那样,只有当应用程序作为守护进程运行时才会发生。有什么想法吗?

btw:OS X 10.7.4

2 个答案:

答案 0 :(得分:0)

不知道这是否仍然是一个问题但是如果它是一个相当微不足道的外部写...基于此的东西:

for (NSRunningApplication *currApp in [[NSWorkspace sharedWorkspace] runningApplications]) {
        if ([currApp isActive]) {
             // return whatever property you want here
        }
    }

答案 1 :(得分:0)

确保脚本的所有者是系统或root用户,而不是您。您可以使用chown命令行实用程序执行此操作(这包含在Mac OS X中)。 10.7及更高版本对权限相当挑剔。