I have built an app in Xcode with Swift. I have a launch screen which is just a static image, when I open the app, the launch screen appears for a few seconds and then as the app continues to load, suddenly there is a white screen until the app is fully loaded and the startup code has finished.
Why is this occurring? What makes the launch screen disappear? Are you able to manually dismiss the launch screen or does the system dismiss it automatically once the main thread is free?
Proposal:
Upon launch, my app makes a few calls to my backend which takes about 6 seconds to complete in total and once they have all succeeded the app shows UI. Since these API calls do not run on the main thread, I suspect that iOS believes my app is done launching prematurely and that is why when it dismisses the launch screen it exposes an empty white background view controller.
Am I correct?