【问题标题】:iOS Xcode 12.0 Swift 5 'AppDelegate' is annotated with @main and must provide a main static function of type () -> Void or () throws -> VoidiOS Xcode 12.0 Swift 5 'AppDelegate' 使用 @main 注释,并且必须提供类型为 () -> Void 或 () throws -> Void 的主要静态函数
【发布时间】:2021-01-06 08:11:25
【问题描述】:

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

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

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

有人遇到这个问题吗?

【问题讨论】:

    标签: xcode macos swift5


    【解决方案1】:

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

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

    启用 Mac Catalyst 后,使用 Swift 语言新创建的 iOS 项目可能无法再构建。 (67885114)

    解决方法:将 App Delegate 上的 @main 注释替换为 @UIApplicationMain

    【讨论】:

      【解决方案2】:

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

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

      【讨论】:

        猜你喜欢
        • 2022-11-10
        • 2020-10-02
        • 1970-01-01
        • 2019-06-21
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-09-02
        • 2015-12-24
        相关资源
        最近更新 更多