Does anyone know how to rotate the iOS Simulator (6.0 and above)? I\'ve searched but have found nothing on this.
I am trying to do this through code (not manually),
Well there are couple of steps you have to check to make all orientations work in iOS6. Even if one of them is missing it won't work.
As Lance says, yes you have to set the supported orientations for iphone or ipad whatever appropriate.
Write this code in the controller which you want to set the rotation for.
-(NSUInteger)supportedInterfaceOrientations { return UIInterfaceOrientationMaskAll; }
-(BOOL)shouldAutorotate { return YES; }
Change UIInterfaceOrientationMaskAll depending on what orientations you want.
You shouldn't be getting this error...(Applications are expected to have a root view controller at the end of application launch)
Get these steps right and rotation will work for you.
Add an entry for Supported interface orientations to the Tests target (or whatever target is appropriate) like this:
As long as the only entries are Landscape ones, it will run in Landscape mode.
Edit:
If I misunderstood your comment about tests and you aren't running unit tests, you probably don't want to keep changing the orientation of your main target. In that case, you could duplicate your main target and make the orientation change there.
Edit:
There is an undocumented method to force rotation in code. While this will work for tests, it could get your app rejected if you use it in a submitted app.
[[UIDevice currentDevice] setOrientation:UIInterfaceOrientationLandscapeRight animated:YES];
Just include this category wherever you need to use this method.
@interface UIDevice (MethodsThatAppleWillHitMeWithTheBanStickForUsing)
-(void)setOrientation:(UIInterfaceOrientation)orientation animated:(BOOL)animated;
-(void)setOrientation:(UIInterfaceOrientation)orientation;
@end