shouldAutorotateToInterfaceOrientation: nunca se llama

Configuro que las Orientaciones de la interfaz compatibles sean todas, excepto Retrato al revés, en Información de implementación.

Me gustaría anular shouldAutorotateToInterfaceOrientation: para un comportamiento personalizado. (es decir, apoyar el paisaje según la condición)

Solo tengo un controlador de vista debido a restricciones (transiciones de vista personalizadas)

así es como se ve el código en mi appdelegate:

self.viewController = [[MyController alloc]initWithNibName:nil bundle:nil];

self.window.rootViewController = self.viewController;
[self.window makeKeyAndVisible];
return YES;

y en myController.m, sobrescribo shouldAutorotateToInterfaceOrientation:

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation {
    return YES;
}

la aplicación se desplaza automáticamente a todas las orientaciones, pero se muestra al revés y la llamada no se llama nunca. He intentado la sugerencia encambio de retorno de shouldAutorotateToInterfaceOrientation: en tiempo de ejecución sin éxito ¿por qué?

en una nota al margen, ¿cuál sería la mejor manera de cambiar el soporte de rotación en el tiempo de ejecución?

actualizar:

- (void)willRotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation duration:(NSTimeInterval)duration

se llama. Traté de colocar en

[[UIApplication sharedApplication] setStatusBarOrientation:UIInterfaceOrientationPortrait];

sin éxito :(

Respuestas a la pregunta(2)

Su respuesta a la pregunta