更新到Mojave之后,我将无法再使用以前在以下警报中使用的自动服务。
您是否看到我的代码有任何问题,或者这是最新的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
答案 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
的“自动化”页面中:
此刻我看到两个问题:
其他人为此写了更详尽的信息:
希望这可以在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
复选框。
答案 3 :(得分:7)
这就是我为我解决的问题。我去了系统偏好设置>安全性和隐私>可访问性(左侧选项)>(输入系统密码)>单击Automator(或您要启用的应用程序),然后TADA起作用。
答案 4 :(得分:5)
更新:更新至最新的公开Beta(截至2018年8月4日)已为我解决了该问题。在此之前,该问题确实存在于Mojave的所有公开测试版中。
原始回复:
只想让您知道我和另一个朋友都遇到了这个完全相同的问题,并且使用Applescript的Automator工作流程不同(与您的工作流程不同)。手动激活(Finder->服务-> 点击项)和键盘快捷键激活都存在问题。
即使是陌生人,在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
中找到任何有用的选项(Automation
和Full 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。
答案 10 :(得分:0)
像这样从Terminal重置为我修复了该问题:
tccutil重置AppleEvents; tccutil重置SystemPolicyAllFiles
答案 11 :(得分:0)
如果尝试运行Apple脚本时没有得到类似的信息,并且在“隐私设置”的“自动化”部分中没有看到“ iTerm”,那么最简单的方法可能会有所帮助:只需重新启动Mac即可; )免责声明:在我这方面,造成这种情况的另一个原因可能是用户切换。
答案 12 :(得分:0)
今天,我遇到了一个问题,我使用了十年的脚本,该脚本在Photoshop中自动对Illustrator文件进行光栅化,只是被告知未经许可而没有权限。上面的解决方案不起作用,因为在我的情况下,它与系统事件无关。然后,我进行了测试,发现如果使用osascript,实际上我计算机上的每个应用程序都存在相同的问题。如果我在脚本中告诉它打开文件,则会出现权限错误,但是由于某些荒唐原因,如果我在脚本中告诉它关闭已打开的文件,则会突然出现权限对话框:
osascript -e "tell application \"Adobe Photoshop 2021\" to close current document saving no"
我想将其发布在这里,以帮助其他人解决这个令人发指的困境。