Rotações do iOS 6: supportedInterfaceOrientations não funciona?

Estou tendo esse problema com o iOS 6 SDK: estou tendo algumas visualizações que devem ser permitidas a rotação (por exemplo, uma visualização de vídeo) e algumas que não são permitidas. Agora eu entendo que eu tenho que verificar todas as orientações no Info.plist do aplicativo e, em seguida, resolver em cada ViewController, o que deve acontecer. Mas não funciona! O aplicativo sempre gira para as orientações, que são dadas no Info.plist.

Info.plist:

<key>UISupportedInterfaceOrientations</key>
    <array>
        <string>UIInterfaceOrientationPortrait</string>
        <string>UIInterfaceOrientationLandscapeLeft</string>
        <string>UIInterfaceOrientationLandscapeRight</string>
    </array>

qualquer ViewController que não deveria ser permitido rodar:

//deprecated
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {
return (interfaceOrientation == UIInterfaceOrientationPortrait);
}

- (NSUInteger)supportedInterfaceOrientations{
return UIInterfaceOrientationMaskPortrait;
}

Observação: o aplicativo gira para a orientação paisagem e retrato. Alguma idéia por que ou o que estou fazendo de errado?

Felicidades, Marc

Edit: Minhas descobertas mais recentes também indicam que, se você quiser ter rotação em algum ponto do seu aplicativo,ter para ativar todas as quatro direções de rotação nas configurações do seu projeto ou Info.plist. Uma alternativa para isso é anular

- (NSUInteger)application:(UIApplication *)application supportedInterfaceOrientationsForWindow:(UIWindow *)window

no seu AppDelegate, que substitui o Info.plist. Não é mais possível configurar apenas Portrait em seu Info.plist e depois ter rotação em algum ViewController, sobrescrevendo shouldAutorotateToInterfaceOrientation ou supportedInterfaceOrientations.

questionAnswers(9)

yourAnswerToTheQuestion