如何通过Bundle Identifier使用AppleScript退出应用?
解决通过Bundle Identifier用AppleScript退出应用的问题
问题原因
- 第一段代码错误:
tell application "System Events" to quit (application whose bundle identifier is "com.apple.Notes")中,System Events仅能管理系统进程,需用process替代application,原语法不匹配导致失效。 - 第二段代码错误:
quit app "com.apple.Safari"里,quit app指令要求传入应用名称(如"Safari")而非Bundle Identifier,因此触发路径选择提示。
正确实现方式
方法1:通过Bundle Identifier定位进程退出
使用System Events匹配进程的Bundle Identifier,这是精准定位应用的可靠方式:
tell application "System Events" quit (processes whose bundle identifier is "com.apple.Notes") end tell
也可简化为单行:
tell application "System Events" to quit processes whose bundle identifier is "com.apple.Safari"
方法2:直接通过应用名称退出
若知晓应用的显示名称,可直接调用应用对象的quit指令,语法更简洁:
tell application "Safari" to quit
注意事项
- 目标应用需处于运行状态,否则脚本无操作(不会报错)。
- 若脚本执行报错,需在「系统设置」→「隐私与安全性」→「自动化」中,允许脚本控制System Events或目标应用。
内容的提问来源于stack exchange,提问作者iStuces
相关产品推荐
相关产品推荐

