Updated for Xcode 13.3
New in iOS 14
If you need to get access to AppDelegate
functionality in SwiftUI, you should create a class that inherits from NSObject
and UIApplicationDelegate
, and give it any functionality you want, such as this:
class AppDelegate: NSObject, UIApplicationDelegate {
// add app delegate methods here
}
For example, if you wanted to implement the old didFinishLaunchingWithOptions
method, you might use this:
class AppDelegate: NSObject, UIApplicationDelegate {
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey : Any]? = nil) -> Bool {
print("Your code here")
return true
}
}
Once you have that, use the UIApplicationDelegateAdaptor
property wrapper in your main App
so that SwiftUI knows to create and manage your app delegate class:
@main
struct NewIn14App: App {
@UIApplicationDelegateAdaptor(AppDelegate.self) var appDelegate
var body: some Scene {
WindowGroup {
ContentView()
}
}
}
SPONSORED Fernando's book will guide you in fixing bugs in three real, open-source, downloadable apps from the App Store. Learn applied programming fundamentals by refactoring real code from published apps. Hacking with Swift readers get a $10 discount!
Sponsor Hacking with Swift and reach the world's largest Swift community!
Link copied to your pasteboard.