WWDC24 SALE: Save 50% on all my Swift books and bundles! >>

Deprecate @UIApplicationMain and @NSApplicationMain

Available from Swift 5.10

Paul Hudson      @twostraws

SE-0383 formally deprecates the @UIApplicationMain and @NSApplicationMain attributes, encouraging folks to switch across to the general-purpose @main attribute that was introduced back in Swift 5.3.

Adopting this change is trivial. You should be able to change this code:

import SwiftUI 

@UIApplicationMain
class AppDelegate: UIResponder, UIApplicationDelegate {
    // your code here
}

To this:

@main
class AppDelegate: UIResponder, UIApplicationDelegate {
    // your code here        
}

Or if you're using SwiftUI, just this:

@main
struct SandboxApp: App {
    var body: some Scene {
        WindowGroup {
            ContentView()
        }
    }
}
Save 50% in my WWDC sale.

SAVE 50% To celebrate WWDC24, all our books and bundles are half price, so you can take your Swift knowledge further without spending big! Get the Swift Power Pack to build your iOS career faster, get the Swift Platform Pack to builds apps for macOS, watchOS, and beyond, or get the Swift Plus Pack to learn advanced design patterns, testing skills, and more.

Save 50% on all our books and bundles!

Other changes in Swift 5.10…

Download all Swift 5.10 changes as a playground Link to Swift 5.10 changes

Browse changes in all Swift versions

 
Unknown user

You are not logged in

Log in or create account
 

Link copied to your pasteboard.