我正在尝试获取自定义Siri Intent的语音快捷方式,该快捷方式作为Apple Watch应用程序的一部分工作,但是我不确定是否可行。有没有人成功做到这一点,或者知道它是否受支持?
在这种情况下,没有太多代码可共享,因为大多数代码都是Xcode自动生成的,但是这里是我如何进行所有设置的快速概述。
我使用.intentdefiniton
文件创建了一个自定义Intent,并为我的iOS应用和watchOS应用创建了单独的Intents扩展目标以处理该Intent。
我在适当的时候设置并捐赠了快捷方式。我在应用程序中包含了INUIAddVoiceShortcutButton,以便用户可以轻松添加或编辑快捷方式的短语。
一切都可以在iPhone上正常运行:快捷方式会在整个iOS的相关时间显示,并且当我对Siri说出调用短语时,iOS应用中的Intents Extension会处理该快捷方式。
由于我的应用程序中有20%的用户使用Apple Watch应用程序,因此我想在watchOS上提供一致的体验。按预期,捐赠的快捷方式会显示在Siri表盘上。我从Siri表盘触发快捷方式,并由watchOS应用程序中的Intents Extension处理。
但是,当我在Apple Watch(仅适用于Series 3 GPS)上说出意图的调用词组时,它不起作用。 Siri说:
正在检查应用程序...
然后几秒钟:
我无法识别该命令。
我已经为我的watchOS应用尝试了单独的Intents Extension,并且没有尝试。在两种情况下,我都得到相同的结果。 它可以在模拟器上运行,但不能在真实设备上运行。
我还确保在目标会员身份下为.intentdefinition
文件选择了我的Watch Extension和Watch App。
我也尝试过进入“设置”>“开发人员”并启用“ 显示最近的快捷方式” ,然后点击“ 强制同步观看快捷方式”,但这不会改变行为。 / p>
Apple Watch是否甚至支持这些自定义意图的语音快捷方式?我无法通过Apple的文档来说明一种方法。 SoupChef示例项目使用watchOS应用程序的Intents Extension进行了设置,这使我认为应该予以支持。而且,由于它可以在模拟器上运行,因此我认为应该予以支持。
但是,此页面未列出watchOS支持的自定义意图,因此让我认为它们可能不受支持:https://developer.apple.com/design/human-interface-guidelines/watchos/user-interaction/siri/
如果有人可以帮助我确定是否支持此功能,我将非常感谢。我不确定自己是在做错什么还是不支持。
答案 0 :(得分:0)
问题出在我的Apple Watch上。
我可以通过删除手表来使其正常工作(设置> 常规> 重置> 删除所有内容和设置),然后从备份中还原它。