web-dev-qa-db-ja.com

JavaからAppleScriptを実行すると、「支援アクセスは許可されていません」エラー

Mavenを使用してOS XアプリのJavaテストを実行するJenkins構成があります。また、補助アクセスが必要なAppleScriptを実行しようとすると、さまざまなエラーが表示されます。そのため、 AppleScriptを2つの方法で実行しようとしました:

  1. ScriptEngineを使用

    ScriptEngineManager mgr = new ScriptEngineManager(); ScriptEngine engine = mgr.getEngineByName( "AppleScriptEngine"); engine.eval(script);

この場合、スクリプトの実行は次のエラーで失敗します。タイプ-10810のエラーが発生しました。

  1. 呼び出しosascript。この場合、エラーは次のようになります。システムイベントにエラーが発生しました:osascriptは補助アクセスを許可されていません。 (-1719)

アクセシビリティリストには、SystemUIServer、スクリプトエディター、osascript、Java、mvn、bash、ターミナルがあります。スクリプトエディターまたはターミナルからosascriptでスクリプトを実行すると、スクリプトはエラーなしで渡されました。

他に何をチェックすればよいですか?

18

あなた自身の質問に答えると思います。 (特に)スクリプトエディターの支援アクセスを許可できます。スクリプトエディタで正常に動作します。

他のアプリケーションを試し、追加して、補助的なアクセスを許可できます。これは、スクリプトエディターで希望どおりの結果が得られない場合のオプションです。

enter image description here

15
Nick Groeneveld

エラーメッセージの内容に関係なく、osascript自体に加えて、osascriptを呼び出すプロセスの親を追加する必要がある場合があります。ときどき、祖父母のプロセスも追加する必要があります。

特に、/ bin/bashは支援APIを呼び出しませんが、osascriptもリストされているにもかかわらず、OSXがそれをリストすることを望んでおり、TeamCityのagent.jarも追加する必要がありました。

したがって、.jarファイルを追加して、ScriptEngineが有効にする必要がある中間コードエグゼキュータを使用しているかどうかを確認してください。

バイナリを変更した場合は、おそらくエントリを削除して追加する必要があることに注意してください(OSXは、データベースエントリの最終的なバイナリエントリにある種のチェックサムを保持していると思います)。

1
android.weasel

OsascriptをTCC.dbに tccutil.py を使用して挿入することで、この問題のようなものを以前に解決しました

インストール後、tccutil.pyをパスにリンクしました。

Sudo ln -s /source/tccutil/tccutil.py /usr/bin/tccutil.py 

ls -l /usr/bin/tccutil.py 
lrwxr-xr-x  1 root  wheel  26 30 Dec 14:57 /usr/bin/tccutil.py -> /source/tccutil/tccutil.py

次に、osascriptアクセスを許可してコンピューターを制御するには、次のコンパンドを使用します

Sudo tccutil.py --insert /usr/bin/osascript

問題が後で再び発生したときにもスクリプトを追加しました。

Sudo tccutil.py --insert $(pwd)/transcribe-audio-to-text.js

それが失敗したので、再起動しました:-)

transcribe-audio-to-text.jsは現在、システムイベントを使用して、TextEditでテキストファイルを保存できるようにしています。それは20160105で非常にアルファ版である仮想アシスタントの一部ですが、ソースは興味深いです。 仮想アシスタント

別の回避策は、スクリプトエディターを使用してAppleScriptを記述し、そこからスタンドアロンアプリとして保存し、そのアプリに支援的なアクセスを与えることです。次に、JavaアプリまたはAutomatorワークフローなどの別の環境から必要に応じてアプリを実行できます。

参照: https://Apple.stackexchange.com/a/346306/26488

0
Beejor