iPod Touch 4G认为它是iPad

问题描述 投票:4回答:4

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

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

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

iphone ipod-touch universal-binary
4个回答
8
投票

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

在我的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发布图像,但还没有尝试过。


0
投票

确保Default.pngs正确命名:

  • Default.png(默认)
  • Default~iphone.png(iPhone或iPod touch)
  • Default~ipad.png(iPad)

对于iPad资源,您还可以为每个方向指定某些默认PNG。


0
投票

目前有一种越狱技术,它使用一些iPad固件安装在iPhone或iPod Touch上。理论上它不应该影响任何东西,但我自己从来没有做过,所以我不能保证这一点。您可能会问这个测试仪是否在越狱设备上,如果是这样,请尝试使用非越狱设备。


0
投票

我不确定它会起作用,但它可能对你有帮助。

确保在InterfaceBuilder中检查主窗口中的属性(visibleAtLaunch)。

有时如果没有检查,那么它将显示黑屏。

© www.soinside.com 2019 - 2024. All rights reserved.