The next solution comes directly from Apple.
In your application, you must implement application:willFinishLaunchingWithOptions: (instead of or in addition to didFinishLaunching ). In your implementation, probably as the last line before returning true (or YES if it is Objective-C), insert this line:
self.window?.makeKeyAndVisible()
Or, if it is Objective-C:
[self.window makeKeyAndVisible]
Turns out it was always necessary, but the documentation was never clear.
source share