【问题标题】:INSearchForNotebookItemsIntentResponse with single taskListINSearchForNotebookItemsIntentResponse 与单个任务列表
【发布时间】:2018-08-06 04:58:21
【问题描述】:

我使用 INSearchForNotebookItemsIntent 在具有自定义 Intent UI 的 Siri 界面中显示列表和项目。当返回一个成功的 INSearchForNotebookItemsIntentResponse 并且 TaskLists 数组属性中只有一个任务列表并且(并且响应的任务数组为空)时,SiriKit 无法加载我的自定义 Intents UI,而是加载 Apple 的默认 UI。

如果提供了多个任务列表,自定义 Intents UI 会按预期加载。

更糟糕的是,Apple 的 UI 有这些奇怪的复选框,它们既不与我的应用程序或自定义 Intent UI 协调,也不做任何事情。它们没有连接到任何地方,即使它们看起来与 Apple 的提醒复选框相同,点击它们也无济于事,也无法提供交互。

为了解决这个问题,我一直在将一个虚拟 INTask 对象填充到响应的任务数组中,这会导致自定义 UI 呈现(从 Things 应用程序的 Siri 界面中发现了这个技巧)但真的真的不喜欢这样做:它在自定义 UI 的底部添加了一个残留的“标题”,上面写着 Items,当 Siri 说话时,她会说类似“找到了两个项目”,因为虚拟对象与找到的列表一起被考虑。

自从我开始使用 SiriKit API 以来,我就通过它学习了 YMMV,但这是一个困扰我的应用程序的特殊问题,并且在 iOS 12 预览版中继续存在。

【问题讨论】:

    标签: ios sirikit


    【解决方案1】:

    这与this post 相关,几乎与您提供关键见解的时间相同。似乎对于response.notesresponse.taskLists,调用IntentsUI 扩展需要两个或更多项。对于response.tasks,一个或多个就足够了。

    如果您从一个任务列表更改为仅一组任务(即使只有一个有效),您的一个问题可能会得到解决。如果您不喜欢单选按钮,请将INTask.taskType 设置为.notCompletable.unknown。我猜点击单选按钮将触发具有该标识符的该任务的一些活动,但尚未尝试使用该 b/c 它不适用于我的应用程序。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-04-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-01-20
      相关资源
      最近更新 更多