首页 > 解决方案 > 无需扩展的 Siri 快捷方式自定义响应?

问题描述

我的应用程序有一个自定义意图,它向用户建议一个快捷方式,如下所示:

    let intent = ReadIntent()
    if let shortcut = INShortcut(intent: intent) {
        INVoiceShortcutCenter.shared.setShortcutSuggestions([shortcut])
    }

我的应用程序总是启动来处理快捷方式,所以我只是在application(_:continue:restorationHandler:). 没有意图扩展。

这非常方便,就像一个魅力......但是,我不知道如何让 Siri 在用户触发快捷方式时做出响应。我在网上找到的所有信息都解释了使用 Intent Extension 时的操作方法。

例如,在Soup Chef 示例中,它说:

汤厨师用支持后台执行标记每个快捷方式类型;这样,系统不需要打开应用程序来处理意图。以这种方式标记时,系统将使用 Soup Chef 的意图应用程序扩展来处理订单。

然后继续解释如何在应用程序扩展中添加自定义响应。但是我的应用程序无论如何都需要启动,所以我没有标记该选项,并且扩展程序不处理意图。没有它就没有办法触发响应吗?这听起来很简单,响应已经在意图定义文件中,我只是无法让 Siri 说出来。:(

标签: iosswiftsirisirikitios12

解决方案


据我所知,如果意图在后台执行,您只能让 Siri 做出响应。这只能通过将意图标记为“支持后台执行”并使用意图扩展来实现。


推荐阅读