iOS Xcode 12.0 Swift 5 'AppDelegate' 用@main 注释并且必须提供类型为 () -> Void 或 () throws -> Void 的主要静态函数

iOS Xcode 12.0 Swift 5 'AppDelegate' is annotated with @main and must provide a main static function of type () -> Void or () throws -> Void

在我的 Xcode 12.0 中使用 Swift 5 和 Catalina 10.15.5:当我勾选 Mac 作为可部署目标(Apple Project Catalyst),然后单击运行时,它给了我错误显示:

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

在 Internet 上找不到任何东西...我检查了我的代码,没有任何问题,它可以在 iOS 设备和模拟器上 运行。调试日志为空(duhh...)

有人遇到这个问题吗?

@main 更改为 @UIApplicationMain 并忽略任何由此产生的警告。

来源:https://developer.apple.com/documentation/xcode-release-notes/xcode-12-release-notes

A newly-created iOS project using the Swift language may no longer build after enabling Mac Catalyst. (67885114)

Workaround: Replace the @main annotation on the App Delegate with @UIApplicationMain.

Xcode 12.1(或更低版本)不包含 macOS 11 SDK,Mac 应用需要新的 SwiftUI 应用周期。

您必须安装 Xcode 12.2 beta(候选版本) 并在 macOS 11 发布之前使用它。