Хорошо, заставка показывается, пока ваше приложение запускается, то есть не возвращается из метода - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
.
Если вы много чего делаете в этом методе, то вы должны разлить этокод для выполнения в другой момент запуска вашего приложения.
Вы должны сделать время запуска своего приложения как можно короче, запускать код обслуживания в отдельном потоке, попробуйте ленивую загрузку для всего остального.