スプラッシュ画面を表示するコードは、didFinishLaunchingWithOptionsメソッドのappdelegateにある必要があります。その場合は、アプリが実際に起動したときにのみ表示され、バックグラウンドから戻ったときには表示されません。
このようなものを使用してください(古いアニメーションコードを使用していることは知っていますが、必要に応じてブロックに更新できると確信しています)...
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];
}