问题描述
上下文:我正在为创建的新iOS 14小部件使用名为TestConfiguration的自定义意图,并且已选中“动态选项”。我的目标是允许用户编辑小部件 视图,基于从后端检索的列表中选择的选项,并使更改反映在小部件本身上。
我有一个名为IntentHandler的类,该类遵循TestConfigurationIntentHandling。在这种委托方法中
func provideAssetsOptionsCollection(for intent: TestConfigurationIntent,with completion: @escaping (INObjectCollection<TestIntentItem>?,Error?) -> Void) {
我尝试在此委托方法中调用后端,但它总是告诉我“此参数未提供任何选项”。因此,我在文档中进行了挖掘,看到了确认委托方法并按如下方式实现了它:
func confirm(intent: TestConfigurationIntent,completion: @escaping (TestConfigurationIntentResponse) -> Void) {
completion(TestConfigurationIntentResponse(code: .inProgress,userActivity: nil))
backendService.fetchData() { result in
//format all the data
completion(TestConfigurationIntentResponse(code: .success,userActivity: nil))
}
}
但这似乎也不起作用,因为它仍然给我相同的响应。我不了解什么/如何完成?
解决方法
请确保在iOS 14.0设备上进行测试时,Intent Handler的目标版本也设置为iOS 14.0,而不是iOS 14.1。