首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从Java运行AppleScript时出现“不允许辅助访问”错误

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

Stack Overflow用户
提问于 2015-06-24 07:06:53
回答 4查看 23.5K关注 0票数 28

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

  1. 使用ScriptEngine: ScriptEngineManager mgr =新ScriptEngineManager();ScriptEngine engine = mgr.getEngineByName("AppleScriptEngine");engine.eval(脚本);

在本例中,脚本执行失败,出现错误:发生了-10810类型的错误。

  1. 呼叫osascript。在这种情况下,错误看起来是:系统事件得到了一个错误: osascript是不允许辅助访问的。(-1719)

在可访问性列表中,我有以下内容: SystemUIServer、脚本编辑器、osascript、java、mvn、bash、终端。在脚本编辑器或终端脚本中运行脚本时,脚本传递时没有任何错误。

有什么建议,我还应该查些什么?

EN

回答 4

Stack Overflow用户

发布于 2015-06-24 15:29:36

我想你会回答你自己的问题。您可以允许脚本编辑器的辅助访问(除其他外)。它在脚本编辑器中工作得很好。

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

票数 19
EN

Stack Overflow用户

发布于 2016-07-25 10:06:47

我发现,除了osascript本身之外,有时我还需要添加调用osascript的进程的父进程,而不管错误消息是什么。有时我还得加上祖父母的程序。

特别是,/bin/bash不调用任何辅助API,但OSX希望列出它,尽管osascript也列出了,而且我还必须添加TeamCity的agent.jar。

因此,尝试添加您的.jar文件,并查看ScriptEngine是否使用您还需要启用的中间代码执行器。

请注意,如果更改二进制文件,可能需要删除和添加条目(我认为OSX在数据库条目中的最终二进制条目中保持某种校验和)。

票数 2
EN

Stack Overflow用户

发布于 2018-12-21 06:29:43

另一个解决方法是使用脚本编辑器编写AppleScript,将其保存为独立的应用程序,并给予该应用程序辅助访问权。然后,您可以根据需要从另一个环境运行该应用程序,比如Java应用程序或Automator工作流。

另见:https://apple.stackexchange.com/a/346306/264883

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31019916

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档