Problem
The issue occurs when running the iPhone app on an iPad. After displaying the splash screen on an ipad (Default-Portrait.png), the screen will flicker and display Default.png for a brief moment (between the period when the splash screen ends and the window is displayed) before opening the window.
Please see the screencast here:
http://dl.dropbox.com/u/31008648/IMG_5304.MOV.
Note that in the video the second time that Default-Portrait.png displayed is actually a window with the backgroundImage set to Default-Portrait.png.
Code to reproduce
Here is the code that is being run in the video:
var platform = Ti.Platform.osname, model = Ti.Platform.model, tmpSplash = 'Default.png';
var isiPad = model.indexOf("iPad");
if (isiPad > -1) {
Ti.API.info("iPad Detected!");
tmpSplash = 'Default-Portrait.png';
}
Ti.API.info("Creating window with image: " + tmpSplash);
var loadingWin = Ti.UI.createWindow({
top : -20,
backgroundImage : tmpSplash,
backgroundColor : 'transparent',
navBarHidden : true,
exitOnClose : true
});
loadingWin.open();
So the issue here is that this is an apple bug: As per https://developer.apple.com/library/ios/#qa/qa2010/qa1588.html iPhone-only applications may only have one launch image. It should be in PNG format and measure 320 x 480 pixels. Name your launch image file Default.png. So what SHOULD be happening is that Default-Portrait.png is never used. The idiom, regardless of model name, is iPhone. Apple's launch code makes a mistake of using Default-Portrait.png in this case. While tempting to fix things to be bug-compatible with Apple, there is a high probability that Apple will fix their bug, making our fix a bug. The solution is that, if this app is indeed an iPhone-only app, it SHOULD NOT have iPad-tailored graphics, but instead use only Default.png, as specified by Apple. Remove Default-Portrait.png, Default-Landscape.png, and other non-iPhone-only graphics. Marking as invalid.
This is due to an Apple Bug. Recreating Apple's bug would not be advantageous in the long run.
+1 for that
Closing as invalid.