如何解决从 Apple Watch 调用时,自定义意图 Siri 快捷方式缺少变量
我在实现自定义意图 Siri 快捷方式时遇到问题。 至于主应用程序和 iPhone 本身,一切正常。 我使用此代码将我的自定义快捷方式添加到快捷方式应用程序:
guard let intent = intent else { return }
if let shortcut = INShortcut(intent: intent) {
let viewController = INUIAddVoiceShortcutViewController(shortcut: shortcut)
viewController.modalPresentationStyle = .formSheet
viewController.delegate = self
viewController.presentOnNewScreen(animated: true,completion: nil)
siriController = viewController
}
其中 intent = PGSwitchIntent()
是我的自定义意图对象。它从意图定义文件自动生成。
对象定义了几个自定义变量。
当通过询问 Siri 或从快捷方式应用程序手动运行从 iPhone 调用时,我的 Intens Extension
处理回调。返回意图已正确填充所有变量。
但是当我尝试从 Apple Watch (watchOS 7) 运行此快捷方式时,自定义意图将所有自定义变量设置为 nil
。只有标识符是正确的。我能够调试扩展并在我需要的任何地方放置断点。但我无法弄清楚,自定义数据去了哪里......
看起来,Apple Watch 的操作系统无法处理自定义变量,只能将裸 INObject
传递给 Apple Watch。
我做错了吗?
我尝试为我们的 Apple Watch 应用程序构建 Intent 扩展,但它非常复杂,因为我的原始处理程序依赖于与主要公司应用程序的 KeychainSharing 获取一些信息......所以我想走这条路 - 主要应用扩展调用。
感谢您的每一个建议。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。