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

Posted

技术标签:

【中文标题】iOS SiriKit:在意图“解决”和“处理”方法之间传递数据【英文标题】:iOS SiriKit: passing data between Intents 'resolve' and 'handle' methods 【发布时间】:2019-06-19 18:34:22 【问题描述】:

我正在尝试带有可自定义参数的新 ios13 SiriKit Intents。它工作正常......我有多个参数,并且为每个参数调用'resolve'方法,然后是'confirm',然后是预期的'handle'。但是我在这些多个调用之间保持和传递“状态”时遇到了麻烦。当第一个参数被解析时,我想存储一些关于解析的额外信息,所以它可以在'handle'中使用。我打算使用 IntentsHandler 对象来保持这种状态,但显然每个“resolve”调用都会实例化一个新的 IntentsHandler 对象,所以这不起作用。

我们还可以通过什么其他方式在“解决”和“确认”/“处理”方法之间传递“状态”,这在一个 Siri“事务”正在进行时是相关的?

【问题讨论】:

【参考方案1】:

您可以使用外部类的单例实例,IntentsHandler 中的服务/管理器,您可以在其中保存您的状态或所需的额外信息

【讨论】:

以上是关于iOS SiriKit:在意图“解决”和“处理”方法之间传递数据的主要内容,如果未能解决你的问题,请参考以下文章

iOS12 SiriKit新特性 shortcuts(Objective-C版本)

未调用 SiriKit 意图处理程序

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

如何在意图之间传递布尔值

sirikit

未调用 SiriKit 扩展