Сагар - у меня была та же проблема, но я смог ее решить.
Как и ваше, мое приложение началось как приложение для iPhone, которое я "обновил" до универсального приложения с помощью мастера XCode. Я заметил, что при запуске на реальном iPad, начиная с альбомной ориентации, приложение запускается в книжной ориентации, а затем, возможно, поворачивается в альбомную ориентацию. На симуляторе, начиная с альбомной ориентации, приложение запускается с альбомной ориентацией, а затем симулятор поворачивается на «Портрет».
На iPad мое приложение представляет собой приложение с разделенным видом с TabBarControllers слева и справа. Каждая вкладка является контроллером представления, который возвращает YES для shouldAutoRotateToInterfaceOrientation.
Я заметил, что у нового универсального приложения, созданного мастером, в простом случае с контроллером splitview эта проблема не возникла.
Разница между моим приложением и простым случаем заключалась в том, что я не добавлял представление своего контроллера splitview в окно приложения в applicationDidFinishLaunchingWithOptions. Вместо этого я показывал представление «загрузка» на этом этапе, затем позже, когда завершился поток инициализации, я добавил бы представление моего splitviewcontroller (и скрыл представление «загрузка»).
Когда я добавил представление моего splitviewcontroller в окно приложения во время вызова applicationDidFinishLaunchingWithOptions, все начало работать нормально.
Должно быть какое-то волшебство, которое происходит по возвращении из applicationDidFinishLaunchingWithOptions ???
Похоже ли ваше приложение на мое в том, что оно не добавляет представление главного контроллера в окно во время applicationDidFinishLaunchingWithOptions?