当前位置: 首页 > 知识库问答 >
问题:

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

杜嘉慕
2023-03-14

我有一个Jenkinshtml" target="_blank">配置,它使用Maven为OS X应用程序执行Java测试。当我试图运行一些需要辅助访问的AppleScript时,会出现不同的错误。所以我试着用两种方式执行AppleScript:

>

  • 使用脚本引擎:

    ScriptEngineManager mgr=新建ScriptEngineManager();ScriptEngine=mgr。getEngineByName(“AppleScriptenine”);发动机评估(脚本);

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

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

    有什么建议吗?我还应该检查什么?

  • 共有3个答案

    东郭良弼
    2023-03-14

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

    特别是,/bin/bash不调用任何辅助API,但OSX希望将其列出,尽管osascript也列出了,而且我不得不添加TeamCity的代理。罐子也是。

    所以试着添加你的。jar文件,并查看ScriptEngine是否使用您还需要启用的中间代码执行器。

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

    纪实
    2023-03-14

    我以前通过在TCC中插入osascript解决过类似的问题。使用tccutil的数据库。py

    安装后,我链接了tccutil。快进小路。

    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访问来控制您的计算机,请使用以下comand

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

    后来问题再次出现时,我甚至添加了脚本。

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

    这失败了,所以我重新启动了,它成功了:-)

    将音频转录成文本。js目前使用系统事件使TextEdit能够保存文本文件。这是virtual assistant的一部分,它在20160105年非常流行,但来源很有趣。虚拟助理

    辛健
    2023-03-14

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

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

     类似资料:
    • 我编写了以下applescript来打开一个文档,同时在我的文字处理器应用程序中隐藏了一些恼人的持久工具栏。当我直接从脚本编辑器播放时,效果非常好。但当我把它变成一个应用程序,并尝试在阿尔弗雷德(而不是阿尔弗雷德2)中玩时,我得到了以下信息: 哦,我尝试了比“POSIX”更普通的路线,但都带来了相同的结果。此外,我正在运行最新版本的埃尔卡皮坦。

    • 问题内容: 我正在使用jquery 并不断收到以下错误。 Access-Control-Allow- Origin不允许使用来源http://example.co.uk。 我遇到的问题是工作正常,然后突然开始执行此操作,原因可能就是我的代码。 http://jsfiddle.net/isimpledesign/KnUBH/ 问题答案: 当您尝试从您的站点向另一个域(或子域)上的站点发出请求时,会出

    • 问题内容: 我看到以下错误: 使用此代码: 是什么原因引起的,如何解决? 问题答案: 在当前域之外发出ajax请求时,Javascript是受限制的。 例1:您的域名为example.com,并且您想向test.com提出请求=>您不能。 例2:您的域名是example.com,并且您想向inner.example.com发送请求,但是您不能。 例3:您的域名为example.com:80,并且您

    • Apple许可地狱:osascript和可访问性(辅助访问)。 错误:不允许osascript进行辅助访问。(-1719) 我在一个名为QuickenUpdate的文件中有一行脚本。scpt 在脚本编辑器中运行(works): 运行在终端(工程): 我有一个shell脚本(QU.sh)来运行这个。 如果我从BBEdit内部运行QU.sh,它会起作用。 如果我运行QU. sh从终端,它的工作原理。

    • 我创建了一个@RestController类,并试图使用配置服务器中的 /refresh执行器值。 /refresh执行器不工作。我收到以下错误。Spring启动版本是2.0.0-Release。我无法升级Spring启动版本。 http://localhost:8888/secondservice/admin/refresh 依赖性:- 傅。班 独自创立yml公司

    • 问题内容: 我正在使用以下脚本- 我尝试访问的计算机正在运行播放框架。我收到以下错误: 选项404(未找到)jquery-1.9.1.min.js:5 XMLHttpRequest无法加载。原产地不被访问控制允许来源允许的。 我已经难过了两天,有人可以帮我吗? 提前谢谢 问题答案: 问题是您正在尝试进行跨域调用(从到)。Same Origin Policy 不允许这样做,因此浏览器试图使用跨域资源