【发布时间】:2022-09-26 11:16:56
【问题描述】:
我有一个带有意图处理程序的 WidgetKit 小部件。目前它使用硬编码值,我正在尝试将其扩展为使用动态值。
我在另一个项目上成功地做到了这一点,但正在努力解决这个问题。
这是我所做的:
-
创建了一个意图处理程序目标
-
添加了自定义类型
-
将该类型添加为参数
-
将意图定义添加为新目标的成员
-
意图有一个自定义类名
-
自定义代码生成成功
-
设置
IntentHander类实现ThemeSelectionIntentHandling如您所见,此操作失败并出现错误
Cannot find type \'ThemeSelectionIntentHandling\' in scope。失败的目标是 Intent Handler:
/Users/lewissmith/code/wtw-ios-app/WTWIntents/IntentHandler.swift:12:3: error: cannot find type \'ThemeSelectionIntentHandling\' in scope , ThemeSelectionIntentHandling { ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ Command EmitSwiftModule failed with a nonzero exit code如果我删除实现
ThemeSelectionIntentHandling,那么它会按预期构建。DTS 不会帮助我,因为该项目使用 Cocoapods。
有没有人有任何想法?
-
哪个目标未能建立? (在 Xcode 中,报告导航器中提供了详细的构建信息,cmd-9 显示了它)。这听起来像您生成的类未包含在需要它的某些目标中。
-
Gotcha - 您的 ThemeSelectionIntent.swift 是否可能未添加到您的意图处理程序目标中?听起来就是这样。检查右窗格,如果那里看起来不错,转到目标,查看 Build Phases > Compile Sources 并确保它也在那里。
-
@asyncawait 你是对的!无论出于何种原因,在意图处理程序扩展中,意图定义已被添加为资源而不是代码。一旦找到它的代码。如果你写一个答案,我会给你赏金
-
@leanne 你绝对是在正确的轨道上,非常感谢你帮助我。最后,意图处理程序是目标的一部分,但作为资源而不是代码
标签: swift xcode widgetkit siri-intent