macOS Mojave, Automator " не имеет права отправлять события Apple в системные события."
после обновления до Mojave я больше не могу использовать сервис automator, который я ранее использовал с предупреждением ниже.
- в 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
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
:
есть два вопроса, которые я вижу на данный момент:
- реализация запроса разрешения для действия сценария, похоже, прослушивается; я запускал другие сценарии, которые запрашивают разрешение на отправку событий в Safari, и Finder не запрашивает разрешение, он просто возвращает ошибку.
- оптимизированная автоматизация требует некоторого типа механизма для предоставления разрешений a priori; примером может быть использование AppleScript с Ansible и невозможность предварительной загрузки грантов
другие написали более подробную информацию об этом:
- https://www.felix-schwarz.org/blog/2018/06/apple-event-sandboxing-in-macos-mojave
- https://forums.developer.apple.com/thread/106949
надеюсь, это будет разработано до кораблей Mojave, как это серьезно влияет на возможности автоматизации macOS.
обновление: обновление до последней публичной бета-версии (по состоянию на 4 августа 2018 года) Исправлена проблема для меня. До этого проблема сохранялась во всех публичных бета-версиях Mojave.
оригинальный ответ:
просто хотел, чтобы вы знали, что и я, и другой друг испытывают эту же проблему, с различными рабочими процессами Automator, которые используют Applescript (отличается от вашего). У нас есть проблема, возникающая при ручной активация (Finder --> Services -->выберите пункт) и с клавиш активацию.
еще более странно, рабочий процесс выполняет красиво при тестировании внутри Automator.
Я подал сообщение об ошибке через помощник обратной связи,и предложить всем, кто видит это, что Вы тоже! Скрипучее колесо и все такое...
рабочий процесс Automator, выполняющийся хорошо внутри Automator
у меня была аналогичная ошибка при запуске AppleScript .app
приложения. Я получил следующую ошибку:
Not authorized to send Apple events to Finder. (-1743)
обходным путем является повторный экспорт приложения из .scpt
или .applescript
исходный код. Это генерирует новый .app
приложение, которое в моем случае прошло успешно. Первоначальный запуск требовал одобрения (а также некоторых последующих запусков), и приложение было добавлено в качестве записи в разделе Settings -> Security & Privacy -> Privacy -> Automation
.
вот что я сделал, чтобы решить проблему для меня. Я пошел в Системные настройки > безопасность и конфиденциальность > доступность (параметры слева) > (введите системный пароль) > нажмите Automator (или ваше приложение, которое вы хотите включить), и TADA он работает.