【发布时间】: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 预览版中继续存在。
【问题讨论】: