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