Ваш код для отображения вашего заставки должен быть в вашем appdelegate в методе didFinishLaunchingWithOptions. Если это так, то оно появляется только тогда, когда ваше приложение действительно запускается, а не когда оно возвращается из фона.
Используйте что-то вроде этого (я знаю, что он использует старый код анимации, но я уверен, что вы можете обновить его на блоки, если вам нужно) ...
splashView = [[UIImageView alloc] initWithFrame:CGRectMake(0, 20, 320, 460)];
splashView.image = [UIImage imageNamed:@"Default.png"];
[myWindow addSubview:splashView];
[myWindow bringSubviewToFront:splashView];
[UIView beginAnimations:nil context:nil];
[UIView setAnimationDuration:0.5];
[UIView setAnimationDelegate:self];
[UIView setAnimationDidStopSelector:@selector(startupAnimationDone:finished:context:)];
splashView.alpha = 0.0;
[UIView commitAnimations];
, а затем создайте метод startupAnimationDone ...
- (void)startupAnimationDone:(NSString *)animationID finished:(NSNumber *)finished context:(void *)context {
[splashView removeFromSuperview];
[splashView release];
}