The app delegate must implement the window property if it wants to use a main storyboard file swift The app delegate must implement the window property if it wants to use a main storyboard file swift xcode xcode

The app delegate must implement the window property if it wants to use a main storyboard file swift


Make sure you have the following property declaration in your AppDelegate class:

var window: UIWindow?


If you run your project on earlier than iOS 13.0, in that case you will face the problem. Because of iOS 13 and later, app launch differently than earlier versions.

  • In iOS 13 and later, use UISceneDelegate objects to respond to life-cycle events in a scene-based app

  • In iOS 12 and earlier, use the UIApplicationDelegate object to respond to life-cycle events.

When you launch the app in iOS 12 and earlier then UIApplicationMain class expect a window property in your AppDelegate class as like SceneDelegate has. So your problem will be solved if you add the following line in your AppDelegate class.

var window: UIWindow?

For Objective-C

@property (strong, nonatomic) UIWindow *window;

You can find more here App's Life Cycle.


Just in case anyone comes across this again and is programming in Objective-C make sure you have this line of code in your AppDelegate.h file:

@property (strong, nonatomic) UIWindow *window;