This is how we've handled this in our game in cocos2d-x:
- Set a blank Orange LaunchImage in Xcode.
In the AppController as soon as the EAGLView is setup we change it's backgroundColor to the same Orange as our LaunchImage because it was showing a black screen for a split second before showing our animated splash scene/layer.
__glView.backgroundColor = [UIColor colorWithRed:GC_BG_COLOR_RED green:GC_BG_COLOR_GREEN blue:GC_BG_COLOR_BLUE alpha:1];
Created a scene/layer before the menu that is shown for 3-4 seconds, on which we show our brand's logo animation.
- On completion of the animation we reset the backgroundColor back to the default black.