AppleScript: возникает ошибка при попытке чтения включенных элементов пользовательского интерфейса

Если я запускаю следующее из терминала

osascript -e 'tell application "System Events" to get UI elements enabled'

Я получаю «истина» или «ложь», как и ожидалось

Но если бы я создал файл со следующим содержимым:

#!/usr/bin/osascript

on supportsAssistiveDevices()
  tell application "System Events"
    set isEnabled to UI elements enabled
    return isEnabled as boolean
  end tell
end supportsAssistiveDevices

log supportsAssistiveDevices()

и запустить его через ./myfile, я получаю следующую ошибку;

./hasguiscript:87:106: execution error: An error of type -10810 has occurred. (-10810)

Может ли кто-нибудь помочь пролить свет на то, почему это может быть?

Спасибо.


person Jamie Mason    schedule 31.10.2014    source источник


Ответы (1)


Это не работало до 10.9. Вы не включаете элементы пользовательского интерфейса как один параметр. Вы должны включить каждое отдельное приложение, которое запрашивает доступ к элементам пользовательского интерфейса. Это функция «безопасности», и нет автоматического способа включить приложение. Итак, ваш код не работает уже больше года.

system preferences->security & privacy->privacy->accessibility
person regulus6633    schedule 01.11.2014