问题
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