iOS 8: la aplicación no gira apropiadamente

Tengo una aplicación desarrollada originalmente para iOS 7.1 que ahora estoy probando en un iPad a través de Xcode 6.1. Cuando se ejecuta en un iPad con 7.1 o en el simulador 7.1, la aplicación funciona como se esperaba. En el simulador 8.1 iPad o 8.1, parece que la rotation no se maneja adecuadamente. Veo que la barra de estado en la parte superior gira, pero la aplicación en sí misma no cambia. Entiendo que esto está relacionado con los methods de rotation en desuso en iOS 8. Mi pregunta es … ¿ahora qué?

No he encontrado ninguna documentation que proporcione una respuesta concisa sobre cómo manejar la rotation utilizando los nuevos mecanismos de iOS 8. ¿Hay alguna manera de manejar con elegancia las rotaciones en iOS 8 de la misma manera que las manejé en iOS 7? Ni siquiera veo llamar a los antiguos methods de rotation, por lo que parece que esto es más que una típica "desaprobación". Parece que han eliminado las llamadas a estos methods por completo.

¿Alguna ayuda o consejo?

Tuve un problema similar y lo solucioné eliminando las keys UIMainStoryboardFile y UIMainStoryboardFile ~ ipad de la list de properties de información de la aplicación

Eche un vistazo a esta discusión https://devforums.apple.com/message/1064397#1064397

¿Estás usando storyboards? Si es así, puede tener el código antiguo en el método application didFinishLaunchingWithOptions .

Intente eliminar la siguiente línea de código y cualquier otra que tenga que ver con UIWindow :

 self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]]; 

Otros han dicho que elimine las líneas de su file Plist, pero eso no debería ser necesario.

Use viewWillTransitionToSize:withTransitionCoordinator: así:

 - (void)viewWillTransitionToSize:(CGSize)size withTransitionCoordinator:(id<UIViewControllerTransitionCoordinator>)coordinator { [super viewWillTransitionToSize:size withTransitionCoordinator:coordinator]; // Will rotate [coordinator animateAlongsideTransition:^(id<UIViewControllerTransitionCoordinatorContext> context) { // Will animate rotation } completion:^(id<UIViewControllerTransitionCoordinatorContext> context) { // Did rotate }]; } 

Debería echar un vistazo al video WWDC 2014 "Ver los avances del controller en iOS 8", donde se discute esto.