在 SiriShortcut 中,我如何处理布尔参数?

In SiriShortcut how I can handle boolean parameters?

在 SiriShortcut 中,如果我提供布尔参数,那么 Siri 不会在对话框中询问布尔值。这是因为它采用默认值。

有什么办法可以解决这个问题吗?

最后,我得到了上述问题的解决方案。

首先,我们需要创建一个名为“Save”的枚举类型,然后添加您想要的任意名称的案例,我为 1 个索引指定“是”,为 2 个索引指定“否”。正如您在下面的屏幕截图中看到的那样。

然后转到您的意图,然后 select 枚举类型而不是布尔值。

然后 select 默认值为“未知”。

然后转到您的 IntentHandler 文件,然后粘贴以下代码。这可以使 Siri 询问值“是”或“否”选项,因为默认情况下我们 selected“未知”。

func resolveSave(for intent: SaveIntent, with completion: @escaping (SaveResolutionResult) -> Void) {
  let save = intent.save
  
  switch save {
   case .no, .yes:
    completion(SaveResolutionResult.success(with: save))
  default:
    completion(SaveResolutionResult.needsValue())
    return
  }
}