AppleScript脚本在ScriptEditor可运行,导出为应用后无法执行求助
AppleScript编译为应用后辅助访问权限错误的解决方案
针对M1芯片Sonoma 14.3.1系统下,含System Events操作的AppleScript编译为应用后,即使添加辅助访问仍报错test is not allowed assistive access. (-1719)的问题,可尝试以下解决方法:
1. 彻底重置辅助访问权限列表
- 关闭所有相关应用(包括你的test.app、Script Editor)
- 打开终端,执行命令:
tccutil reset Accessibility - 重启Mac,之后重新打开test.app,按照系统提示重新添加辅助访问权限
2. 检查并修复应用签名
Sonoma对未签名或签名无效的应用权限管控更严格,尤其是M1设备:
- 打开终端,进入test.app所在目录,执行命令查看签名状态:
codesign -dv --verbose=4 test.app - 如果显示未签名或签名异常,可通过两种方式签名:
- 导出应用时,在Script Editor的导出选项中勾选「签名」(无开发者证书可选择自签名)
- 用终端自签名:
codesign -s - test.app
3. 补充应用权限说明
- 右键test.app,选择「显示包内容」,打开
Contents/Info.plist文件 - 添加
NSAppleEventsUsageDescription键,值填写权限用途(例如"需要控制窗口位置以完成操作") - 保存后,重新在隐私设置中移除并添加该应用的辅助访问权限
4. 换用Automator打包脚本
部分情况下,Automator打包的应用权限识别更稳定:
- 打开Automator,选择「应用」模板
- 添加「运行AppleScript」动作,粘贴你的脚本内容
- 保存为应用,再尝试添加辅助访问权限后运行
内容的提问来源于stack exchange,提问作者rjm2024
相关产品推荐
相关产品推荐

