CatalinaのSystem Eventsエラー回避

以前、CoteditorからSafariで検証するAppleScriptを作ったのですが、macOS 10.15 Catalinaで使ってみると次のようなエラーを出力しました。

[2019-10-30 09:03:45] Safari
操作を完了できませんでした。
/Users/hkitago/Library/Application Scripts/com.coteditor.CotEditor/Safari.scpt: execution error: System Eventsでエラーが起きました: osascriptにはキー操作の送信は許可されません。 (1002)

二世代ほど前から実装されているセキュリティ設定なのは予想ができ、プライバシータブのアクセシビリティやオートメーションのSyetem Events.appのチェックボックスを確認してもうまくいかないのでおググりなさった結果、先に確認できたシステム環境設定→セキュリティとプライバシー→プライバシー→アクセシビリティの設定で該当するアプリケーションを一度削除(左下のマイナスボタンを押下)して再度(プラスボタンを押し選択し)追加すると解決するということです。

Answer: AppleScript Application is not allowed to send keystrokes

スクリプトエディタを使ってデバッグしても同様のエラーを出力したので、これに習って再追加すると解消しました。旧バージョンのmacOSから復元した環境でCatalinaを使っている条件であれば該当している可能性が高そうです。

余談でもう一つCatalinaとApple Scriptで気になるのが、スクリプトエディタのメニューバーから誘導されるアプリケーションスクリプトのフォルダの場所が /Users/{UserID}/Library/Scripts/{Application} に変更されていることです。現在の /Users/{UserID}/Library/Application Scripts/{AppID}/ にあるスクリプトファイルを移動させてもアプリケーション内のメニューに表示されなかったので移行期間なのかもしれません。

投稿者: hkitago

個人事業主でウェブと iOS, Android アプリの開発者で一児の父親。JavaScript, ActionScript, AppleScript, PHP, SQL, ObjC, Swift, Java の読書実行試験運用管理を生業とし、Bind, Postfix, Apache を MacOS で使い、エディタは Vi, mi, Kod, Smultron, TextWrangler を経て Coda, Xcode, Android Studio といった IDE と CotEditor を重用しています。Pokémon GO Trainer Code: 2491 5857 6842