swift - 如何向自定义意图处理程序提供动态数据?
问题描述
上下文:我正在为我创建的新 iOS 14 小部件使用名为 TestConfiguration 的自定义 Intent,并且选中了“动态选项”。我的目标是允许用户根据从后端检索到的列表中选择的选项来编辑小部件视图,并将更改反映在小部件本身上。
我有一个名为 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。
推荐阅读
- c# - DotNetCore WebAPI 依赖注入范围和处置
- amazon-web-services - 图像识别/分类中的 AWS Sagemaker 多对象检测
- java - 重新连接到代理后,MQTT 客户端连接丢失不起作用
- php - 如何以编程方式登录然后使用 Laravel 5.5 重定向?
- javascript - Angular 6路由器未使用angularjs $location服务检测Url更改
- java - 如何使用终端命令在 Red Hat linux 中打开 chrome 浏览器?
- phpspreadsheet - 作曲家问题:教义/注释 v1.6.0 需要 php^7.1
- ecmascript-6 - React ES6 TypeError:instance.render 不是函数
- d3.js - D3:从下拉列表中选择后突出显示圆圈
- codenameone - 在 Container 上手动触发 Pull 刷新