macOS Mojave, Automator «Не авторизован для отправки событий Apple в системные события».

После того, как я обновился до Mojave, я больше не могу использовать службу автоматизации, которую я использовал ранее, с предупреждением ниже. введите описание изображения здесь

  • В разделе «Безопасность и конфиденциальность» я уже проверял редактор 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

введите описание изображения здесь

введите описание изображения здесь


person Travelholics    schedule 12.07.2018    source источник


Ответы (13)


Это определенно часть новой системы безопасности 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 не запрашивает разрешение, он просто возвращает ошибку.
  • оптимизированная автоматизация требует наличия какого-либо механизма для предоставления разрешений a priori; примером может быть использование AppleScript с Ansible и невозможность предварительной загрузки грантов

Другие написали об этом более обширную информацию:

Надеюсь, это будет решено до выхода Mojave, поскольку это серьезно влияет на возможности автоматизации в macOS.

person Joe    schedule 14.08.2018
comment
Спасибо, Джо. Я более четко вижу свою проблему. - person Travelholics; 16.08.2018
comment
Базовое тестирование заставляет меня поверить, что ожидаемая функциональность запроса разрешения на разрешение событий AppleScript работает в 10.14 Beta 8 (18A371a). Это все еще не дает ответа на вопрос, можно ли предварительно авторизовать приложения AppleScript для целей автоматизации. - person Joe; 22.08.2018
comment
У меня не работает при запуске через launchd скрипт python, который вызывает subprocess.run(['/usr/bin/osascript', my_script_path]). Я не получаю подсказку ... - person Louis M; 26.02.2019
comment
Это помогло мне с центром приложений app.rpl (); не работает, я следую этим шагам и проверяю терминал в Visual Studio. - person Pxaml; 21.05.2019
comment
@pxaml Мне также удалось воспроизвести поведение App Center app.Repl (), как вы описали. - person user62171; 04.06.2019

Я столкнулся с такой же ошибкой при открытии gitk.

Ошибка в сценарии запуска: ошибка выполнения: не авторизован для отправки событий Apple в системные события. (-1743)


РЕШЕНИЕ

Перейдите к Settings -> Security & Privacy -> Privacy -> Automation -> Privacy tab и установите флажок System Events.

введите описание изображения здесь

person Abdullah    schedule 19.11.2018
comment
Ни одно изменение настроек у меня не помогло. Моим решением было редактирование файла gitk и удаление ошибочного блока if - в сообщении об ошибке указано (file "/usr/local/bin/gitk" line 12261), поэтому я просто отредактировал этот файл. gitk больше не выводится на передний план, когда я его запускаю, но в остальном он работает нормально. - person billrichards; 11.12.2019
comment
Я пытался запустить симулятор ios из expo cli, и это не удалось с указанным сообщением об ошибке. Это исправило! - person Brad Parks; 04.05.2020
comment
Я столкнулся с этой проблемой после обновления до Big Sur (11.0). Рассматриваемые скрипты были известны на Catalina (10.15), но внезапно перестали работать с новой ОС. Мне интересно, могли ли старые проблемы (из Mojave, 10.14) снова возникнуть в новой ОС. Исправление @Abdullah сработало в этом случае. Спасибо, Абдулла. - person AFK; 19.11.2020

У меня была аналогичная ошибка при запуске .app приложений AppleScript. Я получил следующую ошибку:

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

Обходной путь - экспортировать (File > Export) или сохранить (File > Save As, удерживая клавишу Option, чтобы показать Save As) новое Приложение из исходного кода .scpt или .applescript. Это создает новое приложение .app, которое в моем случае успешно работало. Первоначальный запуск требовал утверждения (а также некоторых последующих запусков), и приложение было добавлено как запись в Settings -> Security & Privacy -> Privacy -> Automation.

person dannyadam    schedule 28.09.2018
comment
Принятое решение не сработало для меня, но этот обходной путь сработал. Спасибо, что разместили это! - person Tom Loredo; 21.01.2020

Я решил ту же проблему, выполнив следующие действия. Откройте Plist и добавьте в него указанные ниже ключи.

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

Вы получите всплывающее окно с подтверждением, чтобы разрешить или запретить, когда ваше приложение запускает скрипт в первый раз. если вы нажмете «Разрешить», он выполнит сценарий.

person Roshil K    schedule 22.03.2019
comment
Это решение не поможет Automator (поскольку у него уже должен быть этот ключ), но если ваше собственное приложение требует доступа к событию Apple, тогда этот новый ключ требуется (начиная с 10.14) developer.apple.com/documentation/bundleresources/ - person bmiller; 13.06.2019
comment
Работал как шарм. - person Jason Elwood; 25.02.2020

Вот что я сделал, чтобы решить эту проблему. Я пошел в Системные настройки> Безопасность и конфиденциальность> Доступность (параметры слева)> (Введите системный пароль)> Нажмите Automator (или ваше приложение, которое вы хотите включить), и TADA работает.

person lrosal    schedule 04.10.2018
comment
Это работает, но с небольшой разницей: Системные настройки ›Безопасность и конфиденциальность› Автоматизация ›отметьте« Системные события »под приложением, которое вы хотите включить› Введите системный пароль - person Ali Nem; 11.12.2018
comment
Я буду вторым комментарием @AliNem. У меня был рабочий процесс Automator, который инструктировал системные события нажимать клавишу в Finder. В Системных настройках ›Безопасность и конфиденциальность› Доступность мне пришлось сначала включить Automator в Accessibility, затем проверить Системные события в Finder в Automation и, наконец, вернуться и включить Finder в Accessibility. У меня возникала новая ошибка каждый раз, когда я пытался запустить рабочий процесс между каждым шагом, пока я не внес все 3 изменения разрешений. - person zozo; 03.04.2020

Сброс из терминала, как это, исправил это для меня:

tccutil reset AppleEvents; tccutil сбросить SystemPolicyAllFiles

person TruncatedCoDr    schedule 11.07.2019
comment
Спасибо! Это единственное, что помогло мне решить проблему. Я уже предоставил разрешение в настройках безопасности / конфиденциальности, но все еще получал эту ошибку. Это работало в iTerm, а не только в Терминале. - person Mike Funk; 30.09.2019

ОБНОВЛЕНИЕ: обновление до последней общедоступной бета-версии (по состоянию на 4 августа 2018 г.) устранило проблему для меня. До этого проблема сохранялась во всех публичных бета-версиях Mojave.


Исходный ответ:

Просто хотел сообщить вам, что и я, и другой друг сталкиваемся с той же проблемой, с разными рабочими процессами Automator, использующими Applescript (отличными от вашего). У нас проблема возникает как при активации вручную (Finder -> Службы -> щелкните элемент), так и при активации сочетания клавиш.

Что еще более странно, рабочий процесс прекрасно работает при тестировании внутри Automator.

Я отправил отчет об ошибке через Помощник по обратной связи и предлагаю всем, кто увидит это, сделать то же самое! Скрипит руль и все ...

Automator - ошибка разрешений. «Действие« Запустить AppleScript »обнаружило ошибку:« Нет прав на отправку событий Apple в системные события ».

Рабочий процесс Automator хорошо работает внутри Automator

person Mr. Bubbles    schedule 13.07.2018
comment
Хм ... Я понимаю, что у вас могла быть такая же проблема, как у меня, потому что все мои сервисы, созданные через автомат, не работают с окном предупреждения. Думаю, мне стоит подождать и посмотреть ... - person Travelholics; 14.07.2018
comment
+1 к этому вопросу. Я могу запустить сценарий внутри редактора сценариев, но как только я сделаю из него быстрое действие или приложение и попытаюсь запустить его, это не удастся. - person Kush; 24.07.2018
comment
Beta 4 вы можете «исправить», скопировав / вставив в новый скрипт и повторно сохранив. Beta 5 больше не работает, и ошибка вернулась с удвоенной силой. - person Tetsujin; 08.08.2018

У меня все еще были проблемы с отправкой нажатий клавиш через несколько месяцев после выпуска Mojave. Для меня странным образом исправление заключалось в следующем: Системные настройки -> Безопасность и конфиденциальность -> Вкладка Конфиденциальность -> Разблокировать замок с помощью ваш пароль -> Удалить (с помощью кнопки «минус») Automator из списка приложений в строке специальных возможностей. Может быть, из-за запуска бета-версий было что-то, что нужно было удалить, прежде чем мои скрипты снова смогут отправлять нажатия клавиш.

Изменить: после выхода из системных настроек я снова получал предупреждение об ошибке. Повторное добавление Automator.app в строку Доступность, похоже, на данный момент решило эту проблему.

person nteissler    schedule 18.01.2019
comment
Не могу поверить, что это единственное, что сработало (удаление-повторное добавление Automator) - person Ilan; 16.10.2019

В моем случае мне пришлось пойти:

Настройки и конфиденциальность> Конфиденциальность> Полный доступ к диску (на левой панели) и добавить Automator.

Я также попытался добавить Automator в Accessibility, как предлагали другие ответы (что изначально не сработало для меня), поэтому, возможно, нам нужно добавить Automator в обоих местах.

снимок экрана с новой опцией полного доступа к диску

person happysailingdude    schedule 13.06.2019

если вы не получаете что-то подобное при попытке запустить свой сценарий Apple, и, более того, вы не видите iTerm в разделе автоматизации в настройках конфиденциальности, тогда может помочь самый простой способ: ПРОСТО ПЕРЕЗАГРУЗИТЕ свой Mac;) отказ от ответственности: Другой причиной такой ситуации с моей стороны может быть смена пользователя.

введите описание изображения здесь

person andilabs    schedule 05.10.2019
comment
Бинго! Спасибо. - person CharlesW; 22.04.2020

У меня была эта ошибка в Terminal.app на Catalina с помощью простого тестового скрипта 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 в Терминале.

person n8henrie    schedule 16.12.2019

Я пытался вставить текущую дату в приложение «Напоминания» нажатием клавиши. Вместо использования рекомендуемых «Настройки -> Безопасность и конфиденциальность -> Конфиденциальность -> Доступность -> Автоматизатор» мне пришлось добавить напоминания вместо Automator, чтобы разрешить команду нажатия клавиш. Раздражает то, что он разрешает действие только в конкретном приложении, но, похоже, это так.

person Dennis Happ    schedule 15.01.2019

Я столкнулся с этой проблемой сегодня, используя скрипт, который у меня был буквально десять лет, который автоматизирует растеризацию файлов Illustrator в Photoshop только для того, чтобы мне сказали, что у него нет разрешения без причины для его предоставления. Приведенные выше решения не работают, потому что в моей ситуации они не имеют ничего общего с системными событиями. Затем я протестировал и обнаружил, что у меня такая же проблема буквально в каждом приложении на моем компьютере при использовании osascript. Если я скажу в скрипте открыть файл, я получаю ошибку с правами доступа, но по какой-то абсурдной причине, если я скажу ему в скрипте закрыть уже открытый файл, я внезапно получаю диалоговое окно с разрешениями:

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

Подумал, что отправлю это здесь, чтобы помочь кому-нибудь еще в этом неприятном затруднительном положении.

person dustinwilson    schedule 10.12.2020