iPod Touch 4G认为它是一款iPad

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

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

我再次检查了目标设备系列是iPhone / iPad,并且做了一个干净的构建等,但仍然没有骰子。


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

在我的info.plist我使用了两个键来分配不同的MainWindow文件:

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中工作正常。 (请注意,如果设备找不到要使用的MainWindow,则不会调用application:didFinishLaunchingWithOptions ,这就是我解决问题的方式)。

我怀疑这同样适用于Launch image (iPad)Launch image (iPhone)Launch image密钥,这可以解释为什么iPod Touch正在使用iPad启动图像,但尚未能够尝试。


确保Default.png被正确命名:

  • Default.png (默认)
  • Default~iphone.png (iPhone或iPod touch)
  • Default~ipad.png (iPad)
  • 对于iPad资源,您还可以为每个方向指定某些默认PNG。


    目前有一种越狱技术,它使用一些iPad固件在iPhone或iPod Touch上进行安装。 理论上它不应该影响任何事情,但我从来没有做过,所以我不能担保。 您可能会问这台测试仪是否在越狱设备上,如果是的话,尝试使用非越狱设备。

    链接地址: http://www.djcxy.com/p/50393.html

    上一篇: iPod Touch 4G thinks it's an iPad

    下一篇: ipod Touch Second Generation