为应用程序创建了新的 WidgetKit 扩展:SwiftUI 预览无法与"appex must be in an app"一起使用



我在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目标。然后预览运行良好。

你能做类似的事情吗?

相关内容

最新更新