watchOS 是不是支持自定义 SiriKit Intent 的语音快捷方式?

Posted

技术标签:

【中文标题】watchOS 是不是支持自定义 SiriKit Intent 的语音快捷方式?【英文标题】:Are voice shortcuts for custom SiriKit Intents supported on watchOS?watchOS 是否支持自定义 SiriKit Intent 的语音快捷方式? 【发布时间】:2018-09-09 20:07:05 【问题描述】:

我正在尝试为作为 Apple Watch 应用程序的一部分工作的自定义 Siri Intent 获取语音快捷方式,但我不确定这是否可行。有没有人在这方面取得了成功或知道它是否受支持?

在这种情况下没有太多代码可以分享,因为大部分代码是由 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 进行了尝试,但没有。在这两种情况下,我得到相同的结果。 它可以在模拟器上运行,但不能在真实设备上运行。

我还确保在 Target Membership 下为 .intentdefinition 文件选择了我的 Watch Extension 和 Watch App。

我也尝试进入设置 > 开发者并启用显示最近的快捷方式,然后点击强制同步快捷方式以观看,但这并没有改变行为。

Apple Watch 是否支持这些自定义意图的语音快捷方式?我无法通过 Apple 的文档以一种或另一种方式说明。 SoupChef 示例项目设置了 watchOS 应用程序的 Intents 扩展,这让我认为应该支持它。而且,由于它适用于模拟器,这让我认为它应该被支持。

但是,此页面并未列出 watchOS 支持的自定义 Intent,因此我认为它们可能不受支持:https://developer.apple.com/design/human-interface-guidelines/watchos/user-interaction/siri/

如果有人能帮我弄清楚这是否受支持,我将不胜感激。我不确定是我做错了什么还是不支持。

【问题讨论】:

我认为这可能是由于 iOS 12、watchOS 5 或 Xcode 10 测试版中的错误,但我仍然遇到与 GM 版本相同的问题。 Watch 应用是否需要单独的 Intent 扩展文件或可以使用 iOS 应用 Intent 扩展。在 watch 应用中运行 siri 快捷方式是否需要针对 watchOS 执行任何特定操作? 【参考方案1】:

问题出在我的 Apple Watch 上。

我能够通过擦除手表使其正常工作(设置 > 常规 > 重置 > 擦除所有内容和设置) 然后从备份中恢复它。

【讨论】:

以上是关于watchOS 是不是支持自定义 SiriKit Intent 的语音快捷方式?的主要内容,如果未能解决你的问题,请参考以下文章

如何为快捷方式应用自定义 SiriKit 意图扩展以请求允许访问?

如何在 iOS 10 中使用 Sirikit 自定义 SendPayment 意图的“MoneySent”意图 UI 屏幕

sirikit

iOS SiriKit:在意图“解决”和“处理”方法之间传递数据

SiriKit:在 IntentsDefinition 文件中定义的快捷方式未显示在 macOS 的快捷方式应用程序中?

iOS10 SiriKit QQ适配详解