I have a universal app built that runs and works perfectly on an iPad, iPhone 4G, 3GS & 3G, but when run on an iPod Touch 4G it won't run properly.
I don't have a iPod Touch to test, but I have been told by a beta tester that it installs on the device fine, but when run it shows the Default.png from the iPad version of the app squashed into the screen when launched, then just goes black from there. When the app is force quit (using the app switcher) and re-launched it does the same thing again.
I have double checked that the Targeted Device Family is iPhone/iPad and done a clean build etc. but still no dice.
There's currently a jailbreak technique that uses some of the iPad firmware to install on an iPhone or iPod Touch. In theory it shouldn't affect anything, but I've never done it myself so I can't vouch for that. You might ask if this tester is on a jailbroken device, and if so try on a non-jailbroken device.
I am not sure it will work, but it may help you.
Make sure that, in the InterfaceBuilder, the attribute(visibleAtLaunch) in main window is checked.
Some times if it doesn't checked then it will show black screen.
Make sure the
Default.png
s are correctly named:Default.png
(Default)Default~iphone.png
(iPhone or iPod touch)Default~ipad.png
(iPad)For the iPad resources you can also specify certain default PNGs for each orientation.
So after some trial and error I worked out what the problem was (actually two separate but related problems):
In my
info.plist
I was using two keys to assign the different MainWindow files:Main nib file base name (iPad)
and
Main nib file base name (iPhone)
I mistakenly thought the second key would apply to the iPod Touch also as there is no
Main nib file base name (iPodTouch)
key. Turns out this is wrong and the iPod Touch actually looks for theMain nib file base name
key. So now I have it setup like this:..and it's working fine in 3.1.3 & 4.2. (Note that
application:didFinishLaunchingWithOptions
is not called if the device can't find a MainWindow to use, that's how I worked out the problem).I suspect the same will apply to the
Launch image (iPad)
,Launch image (iPhone)
andLaunch image
keys, which would explain why the iPod Touch is using the iPad launch image but haven't been able to try it yet.