SiriShortcuts不要求布尔参数

问题描述 投票:0回答:1

我正在为我的应用实现SiriKit,这基本上是一个闹钟。我希望对话进行如下操作:

嘿,Siri,打开1337AlarmClock

-您要设置闹钟吗?

-什么时候?

上午3点

已将警报设置为上午3点

因此,我的第一个参数是我的第二个参数Boolean所依赖的DateComponents。我已经为此正确实现了intent handler,并且已将success code设置为.continueInApp,因为我需要在成功后启动我的应用并处理参数。但是Siri从不询问我的参数,只是盲目地打开参数设置为nil的应用程序。我确实在“快捷方式”应用程序中看到了参数,并且可以在其中指定它们,但是我想通过Siri进行设置。

但是,如果我将第一个参数更改为String而不是Boolean,Siri开始询问问题,并在提供参数后打开我的应用程序。出了点问题吗? BooleanSiriIntents类型还是在这里做错了什么?以下是我的Intents.intentdefinition的图像。

enter image description hereenter image description here

swift ios13 sirikit sirishortcuts
1个回答
0
投票

和我一样,我在几分钟后就提出了问题。问题是,Siri仅在还没有参数值的情况下才要求输入参数。如果查看我原始帖子中的第二张图片,您会看到Relationship部分的值设置为true。这意味着true将是default value,因此Siri不会要求我。您还会注意到,不能将Boolean类型设置为truefalse以外的任何类型,也不能设置has

为了解决此问题,我创建了自己的custom parameter type,并添加了我设置为Undecided的第三个选项default value。 Siri现在可以正确询问-并且可以处理是/否答案。

© www.soinside.com 2019 - 2024. All rights reserved.