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
相关产品推荐
相关产品推荐

