苹果许可地狱:osascript和辅助功能(辅助接入)。
错误: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
我有一个shell脚本(QU.sh)来运行这个。
#!/bin/bash
. ~/.bashrc
/usr/bin/osascript /Deployment/bin/Stocks-1.01.03/scripts/QuickenUpdate.scpt 2>&1
exit 0
如果我从里面跑的BBEdit QU.sh,它的工作原理。
如果我从终端运行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脚本一个更大的项目的一部分)。
你有赴汤蹈火的事实得到一个新的构建工作是荒谬的。
如何在地球上没有一个获得此权限地狱整理出来?
经过大量的试验和错误的...
要使用“系统事件”控制应用程序(如:加快),shell脚本和目标应用程序都需要在系统偏好设置隐私/辅助功能列表。 shell脚本不能手动添加。
手动添加目标应用程序在系统偏好设置。保持清单打开,然后运行通过的launchd shell脚本(我用的是“起步控制”应用程序来运行作业)。
作业将失败,但shell脚本现在应该在辅助功能列表。检查它(打开它),然后脚本应该执行确定。