Убедитесь, что вы не выполняете шаги метода ViewDidLoad или чего-либо, что вызывается из FinishedLaunching, поскольку для приложения есть время ожидания до его запуска.
Вместо этого создайте отдельный поток, который вы запускаете при запуске приложения, которое инициализирует, покажите перед ним какой-нибудь заставочный экран, а после завершения инициализации скройте экранный заставок.
Это рекомендуемый подход.
Причина в том, что приложения запускаются своевременно, и пользователю не нужно ждать запуска приложения. Однако это затрудняет отладку процедуры инициализации.
Надеюсь, это поможет.