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

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

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

enter image description here

enter image description here

Ответ 1

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

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

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

Ответ 2

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

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


РЕШЕНИЕ

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

enter image description here

Ответ 3

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

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

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

Ответ 4

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

Ответ 5

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

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

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

Ответ 6

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


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

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

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

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

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

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

Ответ 7

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

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

Ответ 8

Я пытался вставить текущую дату в приложение "Напоминания" нажатием клавиши. Вместо того, чтобы использовать рекомендуемые "Настройки → Безопасность и конфиденциальность → Конфиденциальность → Специальные возможности → Automator", мне пришлось добавить напоминания вместо Automator, чтобы разрешить команду нажатия клавиши. Раздражает, что он разрешает действие только для конкретного приложения, но, похоже, это так.

Ответ 9

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

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

Ответ 10

В моем случае я должен был пойти:

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

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

screenshot showing the new Full Disk Access option

Ответ 11

если вы не получаете что-то подобное при попытке запустить скрипт Apple, и более того, вы не видите iTerm в разделе "Автоматизация" в настройке конфиденциальности, тогда может помочь самый простой способ: просто перезапустите ваш Mac;) выражение об отказе от ответственности: Еще одной причиной этой ситуации может быть переключение пользователей.

enter image description here