55

更新到 Mojave 后,我无法再使用之前使用的自动机服务,并出现以下警报。 在此处输入图像描述

  • 在安全和隐私中,我已经检查了 AppleScript Editor。

您是否发现我的代码有任何问题,或者这是最新 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

在此处输入图像描述

在此处输入图像描述

4

13 回答 13

45

这绝对是 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

在此处输入图像描述

我目前看到两个问题:

  • 请求脚本操作权限的实现似乎存在错误;我已经运行了其他请求向 Safari 发送事件的权限的脚本,而 Finder 没有提示权限,它只是返回一个错误。
  • 简化的自动化需要某种类型的机制来获得先验授予的权限;一个例子是使用带有 Ansible 的 AppleScript 并且无法预加载授权

其他人写了更多关于这方面的信息:

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

于 2018-08-14T17:44:33.493 回答
29

我面临同样的错误打开gitk

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


解决方案

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

在此处输入图像描述

于 2018-11-19T18:22:41.180 回答
14

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

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

一种解决方法是从 .scpt 或 .applescript 源代码导出 ( File > Export) 或保存 ( File > Save As,按住Option键以显示) 新应用程序。Save As这会生成一个新的 .app 应用程序,在我的例子中它运行成功。初始启动需要批准(以及一些后续启动),并且该应用程序作为条目添加到Settings -> Security & Privacy -> Privacy -> Automation.

于 2018-09-28T00:21:51.013 回答
14

我已经使用以下步骤解决了同样的问题。打开 Plist 并在其中添加以下键

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

当您的应用程序启动第一次执行脚本时,您将收到一个确认弹出窗口以允许或禁止。如果单击允许,它将执行脚本。

于 2019-03-22T08:02:34.363 回答
9

这是我所做的为我解决了这个问题的方法。我去了系统偏好设置>安全和隐私>辅助功能(左侧的选项)>(输入系统密码)>单击Automator(或您要启用的应用程序)并且TADA它可以工作。

于 2018-10-04T16:54:58.357 回答
7

像这样从终端重置为我修复了它:

tccutil 重置 AppleEvents;tccutil 重置 SystemPolicyAllFiles

于 2019-07-11T14:55:19.123 回答
5

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


原回复:

只是想让您知道,我自己和另一位朋友都遇到了同样的问题,使用 Applescript 的不同 Automator 工作流程(与您的不同)。我们在手动激活(Finder --> Services --> click item)和键盘快捷键激活时都出现了问题。

更奇怪的是,在 Automator 中进行测试时,工作流程表现出色。

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

Automator - 权限错误。““运行 AppleScript”操作遇到错误:“未授权将 Apple 事件发送到系统事件。”

Automator 工作流程在 Automator 中表现良好

于 2018-07-13T21:26:29.830 回答
2

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

在此处输入图像描述

于 2019-10-05T15:15:54.003 回答
2

我在 Catalina 上的 Terminal.app 中使用osascript -e 'tell application "Finder" to display notification "some stuff".

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

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

于 2019-12-16T16:42:44.700 回答
1

在 Mojave 发布几个月后,我仍然遇到发送击键的问题。对我来说,奇怪的是,解决方法是从 Accessibility Row 中的应用程序列表中转到System Preferences -> Security and Privacy -> Privacy Tab -> Unlock the Lock with your password -> Remove (with the minus button) Automator。也许在我的脚本可以再次发送击键之前,运行测试版需要删除一些东西。

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

于 2019-01-18T21:23:37.690 回答
1

就我而言,我不得不去:

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

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

显示新的全盘访问选项的屏幕截图

于 2019-06-13T19:07:10.163 回答
0

我试图通过击键将当前日期插入到提醒应用程序中。我不得不添加提醒而不是 Automator,而不是使用推荐的“设置 -> 安全和隐私 -> 隐私 -> 辅助功能 -> Automator”,以便允许击键命令。令人讨厌的是,它只允许对特定应用程序执行操作,但似乎确实如此。

于 2019-01-15T18:01:07.460 回答
0

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

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

以为我会在这里发布它以帮助其他人解决这种令人恼火的困境。

于 2020-12-10T15:43:00.887 回答