Swiftui Xcode 12/iOS14小部件“@main和必须提供一个main静态功能“;错误
使用Xcode 12尝试为我的项目创建小部件应用程序扩展 创建新的小部件目标时,我收到以下错误:Swiftui Xcode 12/iOS14小部件“@main和必须提供一个main静态功能“;错误,swiftui,widget,ios14,xcode12,widgetkit,Swiftui,Widget,Ios14,Xcode12,Widgetkit,使用Xcode 12尝试为我的项目创建小部件应用程序扩展 创建新的小部件目标时,我收到以下错误: 'Widget' is annotated with @main and must provide a main static function of type () -> Void or () throws -> Void. 如果您使用的是nameWidget,那么在SwiftUI框架中已经有一个名为Widget的协议 您应该使用其他名称,但如果确实需要,可以在开始时添加模块名称,如
'Widget' is annotated with @main and must provide a main static function of type () -> Void or () throws -> Void.
如果您使用的是name
Widget
,那么在SwiftUI
框架中已经有一个名为Widget
的协议
您应该使用其他名称,但如果确实需要,可以在开始时添加模块名称,如SwiftUI.Widget
@main
struct Widget: SwiftUI.Widget {
private let kind: String = "Widget"
public var body: some WidgetConfiguration {
IntentConfiguration(kind: kind, intent: ConfigurationIntent.self, provider: Provider(), placeholder: PlaceholderView()) { entry in
WidgetEntryView(entry: entry)
}
.configurationDisplayName("My Widget")
.description("This is an example widget.")
}
}
对于任何希望在为iOS14项目打开Mac时修复AppDelegate问题的人,请咨询:
修复方法是将“@main”更改为“@UIApplicationMain”我在这段代码中遇到了相同的错误:
import WidgetKit
@main
struct WidgetSale: Widget {
let kind: String = "widgetSale"
var body: some WidgetConfiguration {
StaticConfiguration(kind: kind, provider: Provider()) { entry in
widgetSaleEntryView(entry: entry)
}
.configurationDisplayName("My Widget")
.description("This is an example widget.")
}
}
我通过在文件顶部导入swiftUI来解决此问题:
import SwiftUI
我通过以下代码得到了这个确切的错误:
@main
struct NotesApp: App {
var body: some Scene {
WindowGroup {
ContentView()
}
}
}
问题是我为SwiftUI项目命名了我的应用程序逻辑类
app
:@UIApplicationMain只能用于“类”声明
,因此,要解决这一问题,需要使用Xcode 12.2和macOS 11的全新beta版本@main struct SwiftUIApp:SwiftUI.app