felixwcf
felixwcf

Reputation: 2107

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

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.

enter image description here

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?

Upvotes: 11

Views: 4620

Answers (2)

93sauu
93sauu

Reputation: 4117

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.

Upvotes: 2

matt
matt

Reputation: 535737

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.

Upvotes: 26

Related Questions