【问题标题】:Handling Add Tasks intent, siri kit处理添加任务意图,siri 套件
【发布时间】:2017-07-17 09:03:06
【问题描述】:

虽然我相信我正在遵循意图处理程序的句柄功能的正确说明;一切都按原样完成(数据已保存),我从句柄函数发回成功代码,但是当请求完成时,Siri 总是显示“在应用程序中继续”。任何人都有类似的问题并知道解决方案吗?这是我在退出处理程序之前实现的代码,用 swift 编写:

let userActivity = NSUserActivity(activityType: NSStringFromClass(INAddTasksIntent.self))
    let response = INAddTasksIntentResponse(code: .success, userActivity: userActivity)
    completion(response) 

【问题讨论】:

  • 我应该澄清一下 Siri 显示“抱歉,您需要在应用程序中继续”。不只是在应用中继续
  • 我还应该补充一点,在 Create Note 处理程序中使用相同的代码会发生同样的事情
  • 尝试从模拟器中删除您的应用并重新安装
  • 试过了,不幸的是没有运气
  • 变得更加陌生,因为我在 Payments 域的处理程序中尝试了几乎相同的代码,并且运行良好。无论在笔记和列表域中,您几乎都不必返回应用程序??

标签: ios swift xcode siri sirikit


【解决方案1】:

对于那些关心的问题,通过附加目标任务列表和要添加到响应中的任务来解决问题,如下所示:

    let responseCode = INAddTasksIntentResponseCode.success

    let response = INAddTasksIntentResponse(code: responseCode,
                                               userActivity: nil)

    var addedTasks:[INTask] = []
    for title in intent.taskTitles!{
        let newTask = INTask(title: title, status: .notCompleted, taskType: .completable, spatialEventTrigger: nil, temporalEventTrigger: nil, createdDateComponents: nil, modifiedDateComponents: nil, identifier: nil)

        addedTasks.append(newTask)
    }

    response.modifiedTaskList = intent.targetTaskList!
    response.addedTasks = addedTasks
    completion(response)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-03-10
    • 2019-01-23
    • 2021-06-29
    • 1970-01-01
    • 2021-09-02
    • 1970-01-01
    • 1970-01-01
    • 2013-06-09
    相关资源
    最近更新 更多