我在macOS 12.6上使用Xcode 14.0.1。
我正试图用WidgetKit在我现有的应用程序中创建一个新的手表复杂功能,首先是向我的项目添加一个Widget Extension模板目标。
这生成了一个新文件夹,其中包含意向定义文件、Assets文件、Info.plist文件和SwiftUI文件。SwiftUI文件拒绝预览,错误为
AppExtensionNeedsContainingAppError<XcodeGraphSource>: MyWatchExtension.appex must be in an app
The app extension "MyWatchExtension.appex" needs to be embedded in an app in order to use previews
我能够编译目标并在watchOS模拟器中运行它,这很好。我是不是错过了关键的一步?
我也出现了同样的错误,因为我不小心将复杂度扩展添加到了手表扩展中,而不是手表应用程序中。
因此,如果您的项目使用遗留结构,并且包含具有嵌入式扩展的watchOS
应用程序,请确保您在构建阶段>中将WidgetKit
目标嵌入到该应用程序中;目标依赖项。
我收到了相同的错误消息。对我来说,问题是我从一个";WatchOS";仅应用程序模板,然后添加"的WidgetKit目标;iOS";偶然地在这种情况下,确实没有适用于iOS WidgetKit目标的应用程序。
后来,我重新创造了一切;WatchOS";WidgetKit目标。然后预览运行良好。
你能做类似的事情吗?