In our case the app was crashing when the user is logging out. To show login screen we need to replace the rootViewController of the current UIWindow and the logout is happening from a view controller that is located inside more view controllers on tab bar. The deallocation of that tab bar controller after replacing rootViewController causes the issues and my temporary fix was to programatically select the tab bar item that is not in the more view controllers and to retain the tab bar for another 2s. I will also try your solution to see if it helps in my case. Thanks!