Applescript 脚本在 ScriptEditor 中执行,但不作为应用程序执行。
我已经使用 AppleScript 几年了,直到最近才遇到这种情况。
以下代码示例反映了我的情况。我将此代码输入到 ScriptEditor 中,它运行良好。当 Safari 窗口可见时,会显示该对话框;当该窗口不可见时,会显示 MacOS 警报。
set appName to “Safari”
tell application "System Events"
set winPos to position of first window of process appName
display dialog "Test was successful”
end tell
我将代码导出为名为“test”的应用程序,然后运行该应用程序。初始运行提示我将应用程序名称输入到系统设置的隐私和安全部分的辅助功能列表中。完成后,我再次运行该应用程序并出现此错误...... 
"test is not allowed assistive access.
System Events got an error: test is not allowed assistive access. (-1719)"
无论 Safari 窗口可见还是不可见,都会显示相同的错误。 然后我注释掉“set winPos…”行并再次导出为应用程序。应用程序执行没有错误。
进一步测试发现,任何尝试在系统事件告诉中执行系统事件操作的代码在编辑器中运行良好,但在编译到应用程序中时会触发错误。
我在 MacBook Air M1 上运行 Sonoma 14.3.1。在安全模式和常规模式下都会出现错误。我还使用 UTM 和 Parallels 19 在准系统 MacOS Sonoma VM 上运行了测试;进入和退出安全模式。
还在我运行 Catalina 的旧版 MacBook Pro Intel 上进行了测试。应用程序运行成功,表明可能是 M1 问题。
建议表示赞赏。谢谢。