Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

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?

like image 335
felixwcf Avatar asked Sep 19 '20 18:09

felixwcf


2 Answers

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.

like image 155
matt Avatar answered Oct 20 '22 11:10

matt


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.

like image 2
93sauu Avatar answered Oct 20 '22 10:10

93sauu