iPod Touch 4G认为它是iPad

Dom*_*Cat 4 iphone ipod-touch universal-binary

我有一个通用的应用程序,可以在iPad,iPhone 4G,3GS和3G上运行并完美运行,但是当在iPod Touch 4G上运行时,它将无法正常运行.

我没有iPod Touch进行测试,但测试人员告诉我,它在设备上安装得很好,但是在运行时会显示应用的iPad版本中的Default.png在启动时被压缩到屏幕上,然后从那里变黑.当应用程序强行退出(使用应用程序切换器)并重新启动时,它会再次执行相同的操作.

我已经仔细检查了目标设备系列是iPhone/iPad并完成了干净的构建等,但仍然没有骰子.

Dom*_*Cat 8

经过一些试验和错误后,我找出了问题所在(实际上是两个独立但相关的问题):

在我的info.plist我是用两个键来分配不同的主窗口的文件:

Main nib file base name (iPad)

Main nib file base name (iPhone)

我错误地认为第二把钥匙也适用于iPod Touch,因为没有Main nib file base name (iPodTouch)钥匙.事实证明这是错误的,iPod Touch实际上寻找Main nib file base name钥匙.所以我现在设置如下:

替代文字

..它在3.1.3和4.2中运行良好.(注意,application:didFinishLaunchingWithOptions如果设备找不到要使用的MainWindow ,则不会调用,这就是我解决问题的方法).

我怀疑这同样适用于Launch image (iPad),Launch image (iPhone)Launch image钥匙,这将为什么iPod Touch上使用iPad的推出图像,但一直没能尝试它尚未解释.