“ main”仅在iOS 14.0或更高版本的应用程序扩展中可用

问题描述

我在应用程序中添加了小部件目标,并为此尝试了iOS 14和更高版本的条件,但仍然出现此错误

'main()'仅在iOS 14.0或更高版本的应用程序扩展中可用 较新

@available(iOSApplicationExtension 14.0,*)
@main
struct Widget: SwiftUI.Widget {
    let kind: String = "Widget"

   var body: some WidgetConfiguration {
        IntentConfiguration(kind: kind,intent: ConfigurationIntent.self,provider: Provider()) { entry in
            WidgetEntryView(entry: entry)
        }
        .configurationdisplayName("My Widget")
        .description("This is an example widget.")
    }
}

@available是Xcode向我推荐的那个

screenshot

有人可以帮我吗?

解决方法

在放置“ @main”的文件中,查看右侧栏中的目标成员资格,删除主应用程序作为目标,然后保留窗口小部件扩展名。

,

如果添加或已经有扩展,则应检查扩展的部署信息是否为14.0。

查看屏幕截图: enter image description here

,

你的项目使用 xcodegen 吗? 如果没有,只需更改目标版本。 如果是,请配置您的 project.yml,并记住配置您的目标 iOS 版本 14.1 而不是 14.0。 你也可以看到这个Add deploymentTarget to widget in XcodeGen