Адские права доступа Apple: osascript и Accessibility (Вспомогательный доступ).
Ошибка: osascript не разрешен вспомогательный доступ.(-1719)
У меня есть однострочный скрипт в файле с именем QuickenUpdate.scpt
Запуск в редакторе сценариев (работает):
tell application "System Events" to tell process "Quicken" to click menu item "Update all Online Accounts" of menu "Accounts" of menu bar item "Accounts" of menu bar 1
Запуск в терминале (работает):
/usr/bin/osascript /Deployment/bin/Stocks-1.01.03/scripts/QuickenUpdate.scpt
У меня есть скрипт оболочки (QU.sh) для запуска этого.
#!/bin/bash
. ~/.bashrc
/usr/bin/osascript /Deployment/bin/Stocks-1.01.03/scripts/QuickenUpdate.scpt 2>&1
exit 0
Если я запускаю QU.sh из BBEdit, он работает.
Если я запускаю QU.sh из Терминала, он работает.
Если я пытаюсь запустить это через launchd, он завершается неудачно с: osascript не разрешен вспомогательный доступ.(-1719).
launchd plist:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Label</key>
<string>Sec_Stocks_QuickenUpdate.job</string>
<key>Program</key>
<string>/Deployment/bin/Stocks-1.01.03/bin/QU.sh</string>
<key>StartCalendarInterval</key>
<dict>
<key>Hour</key>
<integer>9</integer>
<key>Minute</key>
<integer>45</integer>
</dict>
</dict>
</plist>
Вы не можете добавить osascript к вспомогательному доступу, поскольку это не приложение!
Чрезвычайно печально, что язаставил его работать несколько недель назад, но не могу вспомнить, как.
Мне пришлось внести некоторые изменения в проект и повторно развернуть его (это часть более крупного проекта, который создается и развертывается с использованием сценария ANT).
Тот факт, что вам приходится прыгать через обручи, чтобы заставить работать новую сборку, смешен.
Как, черт возьми, можно получить это разрешение, черт возьми, разобраться?