Позвольте мне рассказать вам причину.
В предыдущей редакции Window-Application используется для создания приложений с несколькими представлениями. Но в Xcode 4.2 Window-Application больше не существует. Пустое приложение предназначено для создания многопользовательской программы.
Разница между оконным приложением и пустым приложением заключается в том, что у первого есть главное окно MainWindow.xib.
Когда программа запускается, сначала iPhone строит главное окно. Контент в MainWindow будет загружен и собран. Но если вам нужно больше функций, например, multi-view, вам все еще нужно новый контроллер корневого представления. Контроллер корневых представлений может помочь управлять представлениями в вашей программе. В новой редакции, Xcode 4.2, ожидается контроллер корневого представления.
В новой редакции MainWindow.xib отсутствует в пустом приложении. Вместо этого AppDelegate создает окно. И это хочет контроллер корневого представления. Поэтому лучший способ - создать подкласс UIViewController с XIB для интерфейса для MainWindow. Но в старой редакции XIB не нужен.
Так что, понял? Без корневого контроллера представления вы не получите сообщение об ошибке, но вы вряд ли сможете сделать что-либо без него. Вот почему предупреждение всегда выходит.