GO FURTHER, FASTER: Try the Swift Career Accelerator today! >>

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()
        }
    }
}
Hacking with Swift is sponsored by Alex.

SPONSORED Alex is the iOS & Mac developer’s ultimate AI assistant. It integrates with Xcode, offering a best-in-class Swift coding agent. Generate modern SwiftUI from images. Fast-apply suggestions from Claude 3.5 Sonnet, o3-mini, and DeepSeek R1. Autofix Swift 6 errors and warnings. And so much more. Start your 7-day free trial today!

Try for free!

Sponsor Hacking with Swift and reach the world's largest Swift community!

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.