2011-02-15 77 views
1

我有一个应用程序已发布并位于应用程序商店中。我们现在正在研究该应用的iPad版本,但我们并未将其作为通用应用发布,因为iPad版本具有许多不会被移植回iPhone应用的不同功能。我们的客户也希望该应用能够以不同的SKU进行发布。管理两个特定于设备的应用程序

我升级了我的iPhone目标到Xcode的iPad,并选择了“两个设备特定的应用程序”,但我遇到了在iPad上运行iPhone应用程序的问题。

应用程序加载了在iPad上的iPhone模拟器,但随后与此错误崩溃:

终止应用程序由于未捕获的异常“NSInternalInconsistencyException”,理由是:“不能在包中加载NIB:”一个NSBundle(加载)“名称'MainWindow-iPad'

在Info.plist中,我指定了2个不同的XIB文件作为iPhone和iPad的Main nib文件。问题是iPhone应用程序在iPad上加载时,正试图加载MainWindow-iPad.xib,而不是iPhone特定的MainWindow.xib。

我认为运行两个特定于设备的应用程序的好处是这两个应用程序之间的代码共享比较容易,但是如果由于此窗口问题,我无法在模拟器的iPad上运行iPhone版本,有点不幸。

任何帮助将是伟大的!

回答

2

听起来像二进制认为你正在运行一个通用的应用程序。尝试使用单独的info.plist文件,并且每个文件只有该设备所需的xib文件。如果您还没有,您可能还需要有两个独立的目标,每个设备一个。

而且,这可能帮助http://cluebucket.com/blog/2010/12/30/universal-apps-ipod-touch/

+0

啊,我也没多想使用不同的Info.plist文件。我确实为iPhone和iPad设置了两个单独的目标,但两个人都使用相同的plist,不正确的MainWindow xib将被加载。我会给这一枪!谢谢! – 2011-02-17 16:17:10

相关问题