macOS Mojave,Automator“未经授权将Apple事件发送到System Events。”

时间:2018-07-12 06:55:17

标签: automator macos-mojave

更新到Mojave之后,我将无法再使用以前在以下警报中使用的自动服务。 enter image description here

  • 在“安全和隐私”中,我已经检查了AppleScript编辑器。

您是否看到我的代码有任何问题,或者这是最新的macOS问题?

脚本

on run {input, parameters}
set pathList to {}
repeat with itemNum from 1 to count of input
    tell application "System Events"
        copy POSIX path of (container of (item itemNum of input)) to end of pathList
    end tell
end repeat
return pathList
end run

enter image description here

enter image description here

13 个答案:

答案 0 :(得分:23)

这绝对是Mojave新安全框架的一部分。在terminal中尝试

osascript -e 'tell application "Finder"' -e 'set _b to bounds of window of desktop' -e 'end tell'

可能会收到:

36:42: execution error: Not authorized to send Apple events to Finder. (-1743)

第一次执行时应该发生的是Finder打开一个对话框,通知您terminal正在请求将事件发送到Finder的权限。如果允许,terminal将被添加到System Preferences > Security & Privacy > Automation的“自动化”页面中:

enter image description here

此刻我看到两个问题:

  • 请求脚本操作权限的实现似乎有问题;我已经运行了其他请求权限以将事件发送到Safari的脚本,并且Finder不会提示您输入权限,它只会返回错误。
  • 简化的自动化需要某种类型的机制来授予一个先验权限;一个示例是将AppleScript与Ansible结合使用,并且无法预加载赠金

其他人为此写了更详尽的信息:

希望这可以在Mojave发行之前得到解决,因为它会严重影响macOS上的自动化功能。

答案 1 :(得分:10)

我在运行AppleScript .app应用程序时遇到类似的错误。我收到以下错误:

Not authorized to send Apple events to Finder. (-1743)

一种解决方法是从.scpt.applescript源代码重新导出应用程序。这将生成一个新的.app应用程序,在我看来,该应用程序已成功运行。首次启动需要获得批准(以及随后的一些启动),并且该应用程序已作为条目添加到Settings -> Security & Privacy -> Privacy -> Automation下。

答案 2 :(得分:9)

打开gitk时遇到相同的错误。

  

启动脚本错误:执行错误:未经授权   将Apple事件发送到系统事件。 (-1743)


解决方案

转到Settings -> Security & Privacy -> Privacy -> Automation -> Privacy tab并选中System Events复选框。

enter image description here

答案 3 :(得分:7)

这就是我为我解决的问题。我去了系统偏好设置>安全性和隐私>可访问性(左侧选项)>(输入系统密码)>单击Automator(或您要启用的应用程序),然后TADA起作用。

答案 4 :(得分:5)

更新:更新至最新的公开Beta(截至2018年8月4日)已为我解决了该问题。在此之前,该问题确实存在于Mojave的所有公开测试版中。


原始回复:

只想让您知道我和另一个朋友都遇到了这个完全相同的问题,并且使用Applescript的Automator工作流程不同(与您的工作流程不同)。手动激活(Finder->服务-> 点击项)和键盘快捷键激活都存在问题。

即使是陌生人,在Automator中进行测试时,工作流程也会表现出色。

我已经通过反馈助手提交了错误报告,并建议其他看到此问题的人也这样做!吱吱作响的车轮和所有...

Automator - Permissions error. "The action “Run AppleScript” encountered an error: “Not authorized to send Apple events to System Events.”"

Automator workflow performing well inside Automator

答案 5 :(得分:3)

我已按照以下步骤解决了相同的问题。 打开Plist并在其中添加以下键

<key>NSAppleEventsUsageDescription</key>
<string>Please give access to Export details to Outlook</string>

当您的应用程序第一次开始执行脚本时,将弹出确认消息,允许或禁止。如果单击允许,它将执行脚本。

答案 6 :(得分:1)

我在Catalina上的Terminal.app中使用简单的测试脚本osascript -e 'tell application "Finder" to display notification "some stuff"遇到此错误。

我没有弹出窗口,也没有在Settings -> Security & Privacy -> Privacy -> Automation -> Privacy中找到任何有用的选项(AutomationFull Disk Access都没有)。我对tccutil reset AppleEvents; tccutil reset SystemPolicyAllFiles也没有任何运气(不幸的是我失去了所有相关的偏好)。

对我来说,问题在于我正在tmux中运行命令。从tmux分离后,在Terminal中运行相同的命令会提示我输入相关的权限对话框。一旦允许并重新连接到我的tmux会话,我仍然无法在tmux中运行命令(但在tmux外部的Terminal中运行)。此时,我终止了tmux会话,启动了一个新会话,此后便能够在终端的tmux中运行此命令。

答案 7 :(得分:0)

我试图通过按键将当前日期插入“提醒”应用程序。与其使用推荐的“设置->安全和隐私->隐私->可访问性->自动程序”,我不得不添加提醒而不是自动程序,以便允许击键命令。令人讨厌的是,它仅允许在特定应用上执行操作,但事实确实如此。

答案 8 :(得分:0)

在Mojave发行几个月后,我在发送按键时仍然遇到问题。对我来说,怪异的解决方法是转到系统偏好设置-> 安全性和隐私权-> 隐私标签-> 使用您的密码-> 删除 (带有减号按钮),从“辅助功能列”中的“应用程序”列表中自动执行。。可能是因为运行Beta导致有些事情需要删除,然后我的脚本才能再次发送击键。

编辑:退出系统偏好设置后,我再次收到警报错误。将Automator.app重新添加到 Accessibility 行似乎已解决了此问题。

答案 9 :(得分:0)

就我而言,我必须去:

设置和隐私> 隐私> 完全磁盘访问(在左侧面板中)并添加Automator

我还尝试按照其他答案的建议将Automator添加到Accessibility(起初对我不起作用),所以也许我们需要在两个地方都添加Automator。

screenshot showing the new Full Disk Access option

答案 10 :(得分:0)

像这样从Terminal重置为我修复了该问题:

  

tccutil重置AppleEvents; tccutil重置SystemPolicyAllFiles

答案 11 :(得分:0)

如果尝试运行Apple脚本时没有得到类似的信息,并且在“隐私设置”的“自动化”部分中没有看到“ iTerm”,那么最简单的方法可能会有所帮助:只需重新启动Mac即可; )免责声明:在我这方面,造成这种情况的另一个原因可能是用户切换。

enter image description here

答案 12 :(得分:0)

今天,我遇到了一个问题,我使用了十年的脚本,该脚本在Photoshop中自动对Illustrator文件进行光栅化,只是被告知未经许可而没有权限。上面的解决方案不起作用,因为在我的情况下,它与系统事件无关。然后,我进行了测试,发现如果使用osascript,实际上我计算机上的每个应用程序都存在相同的问题。如果我在脚本中告诉它打开文件,则会出现权限错误,但是由于某些荒唐原因,如果我在脚本中告诉它关闭已打开的文件,则会突然出现权限对话框:

osascript -e "tell application \"Adobe Photoshop 2021\" to close current document saving no"

我想将其发布在这里,以帮助其他人解决这个令人发指的困境。