Skip to content
字数
472 字
阅读时间
3 分钟

应用程序未在运行 错误:

txt
{
	NSAppleScriptErrorAppName = "Google Chrome";
    NSAppleScriptErrorBriefMessage = "Application isn\U2019t running.";
    NSAppleScriptErrorMessage = "Google Chrome got an error: Application isn\U2019t running.";
    NSAppleScriptErrorNumber = "-600";
    NSAppleScriptErrorRange = "NSRange: {40, 3}";
}

出现这个错误,是由两个系统级限制导致的:

  1. App 当前运行在沙盒模式下(暂时不清楚具体原理)[1] [2]
  2. 需要配置和设定 NSAppleEventsUsageDescription [3]

此处相关需要注意的属性和字段是:NSAppleEventsUsageDescriptionApple 开发者官方文档

  1. 可以通过临时添加权限许可来处理[4]
xml
<key>com.apple.security.temporary-exception.apple-events</key>
<array>
    <string>com.apple.Mail</string>
</array>

<项目名称>.entitlements 文件中添加字段 com.apple.security.temporary-exception.apple-events,Type(类型)设定为 Array(数组):

创建好之后在点一下字段名左手边箭头以展开编辑,然后在每一行的 Value(值)中填写需要获取的 App 权限的 appID(比如 Safari 是 com.apple.Safari

添加许可以后重新运行,发现新的错误:

txt
{
    NSAppleScriptErrorAppName = "Google Chrome";
    NSAppleScriptErrorBriefMessage = "Not authorized to send Apple events to Google Chrome.";
    NSAppleScriptErrorMessage = "Not authorized to send Apple events to Google Chrome.";
    NSAppleScriptErrorNumber = "-1743";
    NSAppleScriptErrorRange = "NSRange: {43, 3}";
}

c# - ScriptError: Visual Studio 2017 macOS 版本运行代码时提示:发送 Apple Events 到 Terminal 未授权 - Stack Overflow

xcode - 尝试在 Swift mac os App 中集成 Apple Script 以获取 macOS 上应用程序的 gui 元素 - Stack Overflow

激活 App 沙盒

具体可以参考一下这篇文章: Executing AppleScript in a Mac app on macOS Mojave and dealing with AppleEvent sandboxing

贡献者

页面历史


  1. macos - 无法在 Swift 中运行 AppleScript - Stack Overflow ↩︎

  2. 技术性 Q&A QA1888: OS X 的沙盒模式和自动化脚本 ↩︎

  3. xcode - 在 Swift 中执行 AppleScript 得到 "Application isn’t running. (error -600)(应用程序未在运行)" 错误 - Stack Overflow ↩︎

  4. applescript - Apple Script 在基于 Swift 的 macOS 应用程序上运行时失败 - Stack Overflow ↩︎

撰写

布局切换

调整 VitePress 的布局样式,以适配不同的阅读习惯和屏幕环境。

全部展开
使侧边栏和内容区域占据整个屏幕的全部宽度。
全部展开,但侧边栏宽度可调
侧边栏宽度可调,但内容区域宽度不变,调整后的侧边栏将可以占据整个屏幕的最大宽度。
全部展开,且侧边栏和内容区域宽度均可调
侧边栏宽度可调,但内容区域宽度不变,调整后的侧边栏将可以占据整个屏幕的最大宽度。
原始宽度
原始的 VitePress 默认布局宽度

页面最大宽度

调整 VitePress 布局中页面的宽度,以适配不同的阅读习惯和屏幕环境。

调整页面最大宽度
一个可调整的滑块,用于选择和自定义页面最大宽度。

内容最大宽度

调整 VitePress 布局中内容区域的宽度,以适配不同的阅读习惯和屏幕环境。

调整内容最大宽度
一个可调整的滑块,用于选择和自定义内容最大宽度。

聚光灯

支持在正文中高亮当前鼠标悬停的行和元素,以优化阅读和专注困难的用户的阅读体验。

ON开启
开启聚光灯。
OFF关闭
关闭聚光灯。

聚光灯样式

调整聚光灯的样式。

置于底部
在当前鼠标悬停的元素下方添加一个纯色背景以突出显示当前鼠标悬停的位置。
置于侧边
在当前鼠标悬停的元素旁边添加一条固定的纯色线以突出显示当前鼠标悬停的位置。