You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

macOS开发:AppShortcut参数刷新失败,快捷功能失效求助

解决macOS上AppIntents示例本地签名运行的权限警告与快捷方式失效问题

在macOS 18.1上运行Apple官方AppIntents示例程序时,选择“Sign to Run Locally”签名方式会收到以下警告:

Failed to refresh AppShortcut parameters with error:
Error Domain=RBSServiceErrorDomain Code=1
"(originator doesn't have entitlement com.apple.private.xpc.launchd.app-server AND
originator doesn't have entitlement com.apple.assertiond.system-shell AND
originator doesn't have entitlement com.apple.runningboard.launchprocess)"
UserInfo={NSLocalizedFailureReason=(\noriginator doesn't have entitlement com.apple.private.xpc.launchd.app-server AND\noriginator doesn't have entitlement com.apple.assertiond.system-shell AND\noriginator doesn't have entitlement com.apple.runningboard.launchprocess)}

注释TrailShortcuts.updateAppShortcutParameters()代码后警告消失,但快捷方式无法在Siri或Shortcuts应用中正常工作。

解决方案

1. 切换到开发签名方式

  • 打开Xcode项目的Signing & Capabilities标签页
  • 在Signing区域选择你的Apple ID开发团队,将签名方式设置为Development
  • 执行Cmd+Shift+K清理构建缓存,再重新构建运行应用

2. 验证AppIntents核心配置

  • 检查项目的Info.plist文件,确认已添加NSUserActivityTypes键,且包含你的AppIntent对应的活动类型(比如示例中的com.example.apple-samplecode.AppIntentsSample.TrailShortcuts)
  • 确保TrailShortcuts类正确实现AppShortcutsProvider协议,且updateAppShortcutParameters()方法在App启动完成后调用(比如在App结构体的onAppear回调中)

3. 调试时手动重置快捷方式服务

如果切换签名后仍有问题,可尝试重置相关服务:

  • 打开终端执行命令:killall Shortcuts && killall Siri
  • 重新运行你的应用,等待快捷方式同步完成

原因说明

“Sign to Run Locally”是Xcode提供的临时无签名运行方案,不会配置AppIntents所需的私有系统权限,导致updateAppShortcutParameters()无法正常刷新快捷方式参数。而开发签名会自动为应用配置必要的权限,确保AppShortcut的注册和同步流程正常工作。

内容的提问来源于stack exchange,提问作者Diagonalization

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.16 19:14:59