我有一个已发布并在应用商店中的应用。我们现在正在开发该应用程序的iPad版本,但由于iPad版本具有许多不同的功能,因此不会作为通用应用程序发布,因此不会移植回iPhone应用程序。我们的客户还希望该应用在不同的SKU下发布。
我已使用Xcode将iPhone目标升级到iPad,并选择了“两个特定于设备的应用程序”,但是在iPad上运行iPhone应用程序时遇到了问题。
该应用程序已在iPad上的iPhone仿真器中加载,但随后因此错误而崩溃:
由于未捕获的异常“NSInternalInconsistencyException”而终止应用程序,原因:“无法加载名称为“MainWindow-iPad”的捆绑软件:“NSBundle(已加载)”中的NIB
在Info.plist中,我指定了2个不同的XIB文件作为iPhone和iPad的Main nib文件。问题在于,iPhone应用程序在iPad上加载时,正尝试加载MainWindow-iPad.xib而不是特定于iPhone的MainWindow.xib。
我认为运行两个特定于设备的应用程序的好处是可以轻松地在两个应用程序之间共享代码,但是如果由于该窗口问题而无法在iPad上的模拟器中运行iPhone版本,那我就有点不高兴了运气
任何帮助将是巨大的!
最佳答案
听起来二进制文件认为您正在运行通用应用程序。尝试使用单独的info.plist文件,每个文件仅具有您要用于该设备的xib文件。您可能还需要有两个单独的目标,如果没有的话,每个设备一个。
另外,这可能对http://cluebucket.com/blog/2010/12/30/universal-apps-ipod-touch/有帮助
关于iphone - 管理两个特定于设备的应用程序,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/5008031/