Адское разрешение Apple: osascript и доступность (вспомогательный доступ) - PullRequest
0 голосов
/ 07 февраля 2019

Адские права доступа 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).

Тот факт, что вам приходится прыгать через обручи, чтобы заставить работать новую сборку, смешен.

Как, черт возьми, можно получить это разрешение, черт возьми, разобраться?

1 Ответ

0 голосов
/ 08 февраля 2019

После большого количества проб и ошибок ...

Чтобы использовать «Системные события» для управления приложением (например, Quicken), сценарий оболочки и целевое приложение должны находиться в Privacy /Список специальных возможностей в Системных настройках.Сценарий оболочки не может быть добавлен вручную.

Добавьте целевое приложение вручную в Системных настройках.Оставьте список открытым, затем запустите скрипт оболочки через launchd (я использую приложение «Launch Control» для запуска задания).

Задание не будет выполнено, но сценарий оболочки теперь должен быть в списке специальных возможностей.Проверьте это (включите), и затем скрипт должен выполнить OK.

...