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

删除回忆录丶 提交于 2020-12-23 01:51:45

问题


In my Xcode 12.0 using Swift 5 and Catalina 10.15.5: When I tick Mac as deployable target (Apple Project Catalyst), and click Runs, it gives me an error showing:

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

Can't find anything on Internet... I have checked my codes and nothing's wrong and it can be run on iOS devices and simulators. Debug log is empty (duhh...)

Anyone facing this issue?


回答1:


Change @main to @UIApplicationMain and ignore any resulting warnings.

Source: 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.




回答2:


The Xcode 12.1 (or less) does not include the macOS 11 SDK, which the new SwiftUI app cycle requires for Mac apps.

You will have to install the Xcode 12.2 beta (candidate release) and use that until macOS 11 ships.



来源:https://stackoverflow.com/questions/63971819/ios-xcode-12-0-swift-5-appdelegate-is-annotated-with-main-and-must-provide-a

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!