Widget动态选项异常:“No options were provided for this parameter”报错排查
Widget动态选项传递失败:"No options were provided for this parameter" 错误排查
当Widget使用自定义类型并启用动态选项时,运行时选项无法正确传递至组件,触发**"No options were provided for this parameter"**错误。原本计划从CoreData获取数据,但即便直接硬编码赋值,依然无法获取到选项数据。
相关代码与配置
IntentHandler代码
class IntentHandler: INExtension, CreateItemConfigurationIntentHandling { let context = PersistenceController.shared.container.viewContext func provideTagsOptionsCollection(for intent: CreateItemConfigurationIntent, with completion: @escaping (INObjectCollection<WidgetTag>?, Error?) -> Void) { let options = [ WidgetTag(identifier: "option1", display: "Option 1"), WidgetTag(identifier: "option2", display: "Option 2"), WidgetTag(identifier: "option3", display: "Option 3") ] let collection = INObjectCollection(items: options) completion(collection, nil) } }
.intentdefinition文件配置
参数tags设置为自定义类型WidgetTag,已勾选Dynamic Options,并指定选项提供方法为provideTagsOptionsCollection。
目标设置
- .intentdefinition文件的Target Membership已勾选Widget Extension和Intent Extension;
- IntentHandler所在文件的Target Membership已勾选Intent Extension。
内容的提问来源于stack exchange,提问作者IDTIMW
相关产品推荐
相关产品推荐

