That's because adding UIMainStoryboardFile key into the app's .plist file (which is added by default) is the reason of instantiation the window.

window rootViewController will contains the initial view controller of the storyboard and it will be visible on the screen.
Test it!
can we let the window nil?
try to remove UIMainStoryboardFile row from the .plist file of the project and try to log the window in application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) method:
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {
// if your removed 'UIMainStoryboardFile' key from the plist, this should prints nil
print(window)
return true
}