I have an app that is has been released and is in the app store. We are now working on the iPad version of the app, but we are not releasing it as a Universal app as the iPad version has a lot of different features that will not be ported back to the iPhone app. Our client also wants the app to be released under different SKUs.
I upgraded my iPhone target to iPad in Xcode and selected the “Two device-specific applications” but I’m running into a problem running the iPhone app on an iPad.
The app loads up in the iPhone emulator on the iPad but the subsequently crashes with this error:
Terminating app due to uncaught exception ‘NSInternalInconsistencyException’, reason: ‘Could not load NIB in bundle: ‘NSBundle (loaded)’ with name ‘MainWindow-iPad’
In the Info.plist I have specified 2 different XIB files as the Main nib file for the iPhone and iPad. The issue is that the iPhone app, when loaded on an iPad, is trying to load the MainWindow-iPad.xib instead of the iPhone-specific MainWindow.xib.
I thought the benefit of running two device-specific apps was the ease in code sharing between the two apps, but if I can’t run the iPhone version on an iPad in the emulator because of this window issue, I’m kind of out of luck.
Any help would be great!
It sounds like the binary thinks that you are running a universal app. Try having separate info.plist files and each one having only the xib file you want for that device. You may also need to have two separate targets, one for each device, if you don’t already.
Also, this might help http://cluebucket.com/blog/2010/12/30/universal-apps-ipod-touch/