I\'m making a universal app based on the Utility App template. I\'ve selected a universal app and the MainView.xib and MainView~iPad.xib work properly on both device types.
It can be done automatically based on the name, no worries. The only problem is you'll need to switch your naming convention. MainView.xib will be your iPad xib and MainView~iphone.xib will be your iPhone xib. Then it should work perfectly for you and you don't have to do anything but alloc/init.
You can check out my other answer on this topic here: iOS: Using device modifiers for loading xib files?
in the end i found the solution. it is really very very simple. The xib must be named ~ipad instead of ~iPad, and ~iphone instead of ~iPhone. The bad thing is the if you name them ~iPad, everything works in the simulator but it does not work on the real device.