macOS:快捷方式的 Intents 扩展打开主应用程序并且不会 运行 自身

macOS: Intents Extension for Shortcuts opens main app and does not run for itself

我正在尝试为 macOS 12 Monterey 创建 Intents 扩展。

我做了什么:

问题:

我的快捷方式操作确实出现在快捷方式中。但是,每当我 运行 快捷方式操作时,都会启动主应用程序而不是扩展程序本身。

我已经能够弄清楚我做错了什么,看看下面我的回答。

我发现了两个可能的原因:

  1. 不要不要将您的 Intent 添加到主应用程序 (info.plist) 的受支持 Intent 中,因为只有当您希望主应用程序处理意图来自 func application(_ application: NSApplication, handlerFor intent: INIntent) -> Any?。在应用委托中(a.k.a。应用内处理)——你希望你的扩展处理意图
  2. 默认情况下,Intent Extensions 不在沙盒中。因此,您必须在构建设置中启用 App Sandbox 并添加一个将 com.apple.security.app-sandbox 设置为 true 的授权文件。默认情况下,Apple 真的应该为任何新的 Intent Extension 执行此操作。

干杯!