苹果许可地狱:osascript和辅助功能(辅助接入)

问题描述 投票:0回答:1

苹果许可地狱: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脚本一个更大的项目的一部分)。

你有赴汤蹈火的事实得到一个新的构建工作是荒谬的。

如何在地球上没有一个获得此权限地狱整理出来?

macos applescript permission-denied
1个回答
1
投票

经过大量的试验和错误的...

要使用“系统事件”控制应用程序(如:加快),shell脚本和目标应用程序都需要在系统偏好设置隐私/辅助功能列表。 shell脚本不能手动添加。

手动添加目标应用程序在系统偏好设置。保持清单打开,然后运行通过的launchd shell脚本(我用的是“起步控制”应用程序来运行作业)。

作业将失败,但shell脚本现在应该在辅助功能列表。检查它(打开它),然后脚本应该执行确定。

© www.soinside.com 2019 - 2024. All rights reserved.