Xcode 12 / iOS14小部件“ @main并且必须提供主静态功能”错误

使用Xcode 12尝试为我的项目创建Widget应用扩展。

创建新的Widget目标时,出现以下错误:

'Widget' is annotated with @main and must provide a main static function of type () -> Void or () throws -> Void.

Xcode 12 / iOS14小部件“ @main并且必须提供主静态功能”错误

iCMS 回答:Xcode 12 / iOS14小部件“ @main并且必须提供主静态功能”错误

您正在使用名称Widget,在Widget框架中已经有一个名为SwiftUI的协议。

您应该使用其他名称,但如果确实要使用,请在开始时添加模块名称,例如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问题的任何人-请咨询:iOS Xcode 12.0 Swift 5 'AppDelegate' is annotated with @main and must provide a main static function of type () -> Void or () throws -> Void

解决方法是将“ @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
本文链接:https://www.f2er.com/2076645.html

大家都在问