“不允许辅助访问”错误,从 Java 运行 AppleScript 时

2022-09-01 16:11:38

我有一个Jenkins配置,它使用Maven为OS X应用程序执行Java测试。当我尝试运行一些需要辅助访问的AppleScript时,会出现不同的错误。因此,我尝试以两种方式执行 AppleScript:

  1. 使用脚本引擎

    ScriptEngineManager mgr = new ScriptEngineManager();ScriptEngine engine = mgr.getEngineByName(“AppleScriptEngine”);engine.eval(script);

在这种情况下,脚本执行失败并显示错误:发生了类型为 -10810 的错误。

  1. 调用 osascript。在这种情况下,错误如下所示:系统事件出现错误:不允许辅助访问 osascript。(-1719)

在可访问性列表中,我有以下东西:SystemUIServer,Script Editor,osascript,java,mvn,bash,Terminal。在脚本编辑器或终端的 osascript 中运行脚本时,脚本通过时没有任何错误。

任何建议,我还需要检查什么?


答案 1

我想你回答了你自己的问题。您可以允许脚本编辑器的辅助访问(以及其他内容)。它在脚本编辑器中工作正常。

您可以尝试添加其他应用程序以具有辅助访问权限。如果脚本编辑器没有提供您想要的,这可能是一个选项。

enter image description here


答案 2

我之前已经通过将osascript插入TCC解决了类似的问题.db使用 tccutil.py

安装后,我 tccutil.py 链接到路径中。

sudo ln -s /source/tccutil/tccutil.py /usr/bin/tccutil.py 

ls -l /usr/bin/tccutil.py 
lrwxr-xr-x  1 root  wheel  26 30 Dec 14:57 /usr/bin/tccutil.py -> /source/tccutil/tccutil.py

然后,要允许osascript访问来控制您的计算机,请使用以下组件

sudo tccutil.py --insert /usr/bin/osascript

我甚至在以后问题再次发生时添加了脚本。

sudo tccutil.py --insert $(pwd)/transcribe-audio-to-text.js

这失败了,所以我重新启动了,这工作了:-)

将音频转录为文本.js当前使用系统事件使文本编辑能够保存文本文件。它是虚拟助手的一部分,20160105非常阿尔法,但来源很有趣。虚拟助手