Docs: UIInterfaceOrientationMaskLandscape
The view controller supports both landscape-left and landscape-right interface orientation. Appears to be what I want.. Do you mean in the -supportedInterfaceOrientations or -preferredInterfaceOrientationForPresentation? Michael On Mon, Feb 4, 2013 at 5:04 AM, Louis Romero <arc...@gmail.com> wrote: > Aren't you misinterpreting what UIInterfaceOrientation*Mask* is? > > 2013/2/4 Mazzaroth M. <taomaili...@gmail.com> > >> I am getting this error in a universal iOS 6.0 sdk app: >> >> >> 2013-02-03 23:41:57.078 scrappling[20350:c07] *** Terminating app due to >> uncaught exception 'UIApplicationInvalidInterfaceOrientation', reason: >> 'preferredInterfaceOrientationForPresentation must return a supported >> interface orientation!' >> >> This occurs in the iPad 6.0 simulator, simulating a non-retina ipad. >> >> The initial view controller of the app is a UITabViewController subclass. >> The storyboard for the app looks like this: >> >> >> http://dl.dropbox.com/u/597030/debugging/Screen%20Shot%202013-02-03%20at%2011.50.49%20PM.png >> >> This is how I reproduce the crash: >> >> 1)select an item in the master tableviewcontroller which calls [self >> presentMoviePlayerViewControllerAnimated:_playerVC]; >> 2)_playerVC is a MPMoviePlayerViewController subclass that presents a >> video >> fullscreen. >> 3)the moment I tap "Done" on the video, Cocoa Touch fires >> [MMATabBarController preferredInterfaceOrientationForPresentation] and >> returns UIInterfaceOrientationMaskLandscape: >> >> MMATabBarController.m: >> >> ~snip~ >> -(BOOL)shouldAutorotate >> { >> return YES; >> } >> >> -(NSUInteger)supportedInterfaceOrientations >> { >> >> if([[UIDevice currentDevice] userInterfaceIdiom] == >> UIUserInterfaceIdiomPhone) >> { >> return UIInterfaceOrientationMaskPortrait; >> } >> else >> { >> return UIInterfaceOrientationMaskLandscape; >> } >> } >> >> - (UIInterfaceOrientation)preferredInterfaceOrientationForPresentation >> { >> >> // return UIInterfaceOrientationMaskAll; >> if([[UIDevice currentDevice] userInterfaceIdiom] == >> UIUserInterfaceIdiomPhone) >> { >> return UIInterfaceOrientationMaskPortrait; >> } >> else >> { >> return UIInterfaceOrientationMaskLandscape; >> } >> } >> ~snip~ >> >> 4)I've confirmed UIInterfaceOrientationMaskLandscape gets returned from >> -preferredInterfaceOrientationForPresentation >> 5)I've confirmed UIInterfaceOrientationMaskLandscape gets returned from >> -supportedInterfaceOrientations >> >> 6)Crash! >> >> >> ~~~~~~~~ >> >> >> What I don't understand is why this message is occurring because I have >> confirmed that at startup [MMATabBarController >> -supportedInterfaceOrientations] returns >> UIInterfaceOrientationMaskLandscape. Also my info.plist looks like this: >> >> <key>UISupportedInterfaceOrientations~ipad</key> >> <array> >> <string>UIInterfaceOrientationLandscapeLeft</string> >> <string>UIInterfaceOrientationLandscapeRight</string> >> </array> >> >> Attempted workarounds: >> >> 1)I had -preferredInterfaceOrientationForPresentation return >> UIInterfaceOrientationMaskAll. >> >> 2) I added the application:supportedInterfaceOrientationsForWindow: >> delegate method to the app delegate. I've confirmed that this gets fired >> and UIInterfaceOrientationMaskLandscape gets returned: >> >> >> -(NSUInteger)application:(UIApplication *)application >> supportedInterfaceOrientationsForWindow:(UIWindow *)window >> { >> if([[UIDevice currentDevice] userInterfaceIdiom] == >> UIUserInterfaceIdiomPhone) >> { >> return UIInterfaceOrientationMaskPortrait; >> } >> else >> { >> return UIInterfaceOrientationMaskLandscape; >> } >> } >> >> 3) I subclassed UINavigationController and I've confirmed that on app >> startup UIInterfaceOrientationMaskLandscape is returned. The >> UINavigationController looks like this: >> >> MMANavigationController.m: >> >> ~snip~ >> -(BOOL)shouldAutorotate >> { >> return YES; >> } >> >> -(NSUInteger)supportedInterfaceOrientations >> { >> >> if([[UIDevice currentDevice] userInterfaceIdiom] == >> UIUserInterfaceIdiomPhone) >> { >> return UIInterfaceOrientationMaskPortrait; >> } >> else >> { >> return UIInterfaceOrientationMaskLandscape; >> } >> } >> >> - (UIInterfaceOrientation)preferredInterfaceOrientationForPresentation >> { >> >> // return UIInterfaceOrientationMaskAll; >> if([[UIDevice currentDevice] userInterfaceIdiom] == >> UIUserInterfaceIdiomPhone) >> { >> return UIInterfaceOrientationMaskPortrait; >> } >> else >> { >> return UIInterfaceOrientationMaskLandscape; >> } >> } >> ~snip~ >> >> Any suggestions on what may be going wrong? >> >> Michael >> _______________________________________________ >> >> Cocoa-dev mailing list (Cocoa-dev@lists.apple.com) >> >> Please do not post admin requests or moderator comments to the list. >> Contact the moderators at cocoa-dev-admins(at)lists.apple.com >> >> Help/Unsubscribe/Update your Subscription: >> https://lists.apple.com/mailman/options/cocoa-dev/arcank%40gmail.com >> >> This email sent to arc...@gmail.com >> > > _______________________________________________ Cocoa-dev mailing list (Cocoa-dev@lists.apple.com) Please do not post admin requests or moderator comments to the list. Contact the moderators at cocoa-dev-admins(at)lists.apple.com Help/Unsubscribe/Update your Subscription: https://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com This email sent to arch...@mail-archive.com