热门标签 | HotTags
当前位置:  开发笔记 > IOS > 正文

无法读取INAddTasksIntent中的歧义消除结果

如何解决《无法读取INAddTasksIntent中的歧义消除结果》经验,请帮忙看看怎么搞?

在我的应用程序中,用户可以通过Sirikit将任务添加到列表中(示例Siri意向查询:“在MyApp中,为牛仔裤添加100美元的费用列表”)。如果建议的列表在应用程序中不可用,请消除歧义。

歧义选择的结果不会在resolveTargetTaskList中捕获。

intent.targetTaskList?.title是我在第一次尝试中传递的值。结果,它进入无限循环。

func resolveTargetTaskList(for intent: INAddTasksIntent, with completion: @escaping (INTaskListResolutionResult) -> Void) {  
    guard let title = intent.targetTaskList?.title else {  
        completion(.needsValue())  
        print("no title value")              
    }  
    completeResolveTaskList(listName: intent.targetTaskList!.title, with: completion)  
}  



public func completeResolveTaskList(listName: INSpeakableString, with completion: @escaping (INTaskListResolutionResult) -> Void) {  
    print("completeResolveTaskList")  
    let allLists = getAllLists()  
    for index in 0...(allLists.count - 1) {  
        if allLists[index].spokenPhrase.lowercased() == listName.spokenPhrase.lowercased() {  
            completion(.success(with: taskLists[index]))  
        }  
    }  

    switch allLists.count {  
    case 0:  
        completion(.unsupported())  
    default:  
        completion(.disambiguation(with: taskLists))  
    }  
}  

屏幕截图以供参考:

请帮我。


推荐阅读
author-avatar
blank
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有