gpt4 book ai didi

ios - 无法在缓存中找到具有标识符 - id - 的可缓存对象

转载 作者:塔克拉玛干 更新时间:2023-11-02 09:53:22 32 4
gpt4 key购买 nike

我正在尝试在我的应用程序中为 Siri 实现 INCreateNoteIntent。Siri 解决了所有需要的内容,她通过确认,通过 handle intent 方法,一切正常,但 Siri 的最终响应是:

抱歉,应用出现问题

控制台日志中打印的是这样的:


[Intents] -[INCache cacheableObjectForIdentifier:] 无法在缓存中找到标识符为 5BCBE5F9-5DD6-4E63-AF5C-F3863BF56ECD 的可缓存对象。

有什么想法吗?

最佳答案

我在使用 INCreateTaskListIntent 时遇到了完全相同的问题。也许您在使用 INCreateNoteIntent 时遇到了类似的问题?

事实证明,对于您在 handle 方法中创建的最终响应,您必须为响应分配一个新的 INTaskList 对象,否则它就不是一个有效的成功响应(即,成功的响应必须设置 createdTaskList 字段)。也许你的笔记问题是相似的?

这是修复前后我的代码示例:

之前(我没有创建和设置任务列表):

func handle(intent: INCreateTaskListIntent, completion: @escaping (INCreateTaskListIntentResponse) -> Void) {
guard let title = intent.title else {
completion(INCreateTaskListIntentResponse(code: .failure, userActivity: nil))
return
}

print("Creating task list called \(title)")
let response = INCreateTaskListIntentResponse(code: .success, userActivity: nil)
completion(response)
}

之后(我设置了任务列表):

func handle(intent: INCreateTaskListIntent, completion: @escaping (INCreateTaskListIntentResponse) -> Void) {
guard let title = intent.title else {
completion(INCreateTaskListIntentResponse(code: .failure, userActivity: nil))
return
}

print("Creating task list called \(title)")
let taskList = INTaskList(
title: title,
tasks: [],
groupName: nil,
createdDateComponents: nil,
modifiedDateComponents: nil,
identifier: "superduperlist"
)
let response = INCreateTaskListIntentResponse(code: .success, userActivity: nil)
response.createdTaskList = taskList
completion(response)
}

关于ios - 无法在缓存中找到具有标识符 - id - 的可缓存对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49152758/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com