macOS Mojave, Automator " не имеет права отправлять события Apple в системные события."

после обновления до Mojave я больше не могу использовать сервис automator, который я ранее использовал с предупреждением ниже. enter image description here

  • в Security & Privacy я уже проверил редактор AppleScript.

вы видите какие-либо проблемы с моим кодом или это проблема новой ОС

скрипт

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

4 ответов


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

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

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


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


оригинальный ответ:

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

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

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

Automator-ошибка разрешений. "В действии" запустить AppleScript "обнаружена ошибка:" не авторизован для отправки Apple события для системных событий.""

рабочий процесс Automator, выполняющийся хорошо внутри Automator


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

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

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


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