Just to add my 2 cents, I have the same issue now in iOS 13 only with an app that was originally built with NIBs and with a coded NavController. Have tried eveything above including starting with a Storyboard for the LaunchScreen - #1 because Apple is making us and #2 just to see if it would force the proper behavior. It did not, so very frustrating to have something written to spec and working properly since iOS 3 just suddenly fail on a routine basis.Soooo...I got to thinking instead of banging my head against the wall and fruitlessly tweaking all these FullScreen settings, why not just do the job myself if Apple's dropping the ball.So, I just subclassed UINavigationController and overrode pushViewController so that I call 'viewWillAppear' and 'viewDidLoad' my **** self. And...it works!...basically.Because the lifecycle views sometimes get called in response to pushing/popping, they can get called redundantly. This creates a noticeable performance hit and UI stutter, but at least 2 calls is better than 0 calls.Next step is adding some kind of flag to see if the methods have been properly called and then conditionally call them as needed.Open to any ideas or suggestions around this (especially from Apple saying they've fixed things).