views:

140

answers:

2

Lately, I have received a text from the QA folks saying that the developed app's orientation is incorrect on iPhone 3, while it can display correctly on iOS 4. They say on iOS 3, the app's orientation is on portrait view, which makes the app leaving gray space below. However, they claimed that on iOS 4, the orientation is correct.

I test their claims on my 3GS (using iOS4). My app is always rendered correctly on my iPhone. It's pretty strange, because:

  1. The app has been developed before the release of iOS4, and the codes for rotation is left intact. This implies that the rotation works correctly for iOS3 in the past.
  2. I run my app using base 3.2.3 version, and I could not produce what the QA is claiming. This applies to both the simulator (tested on both iOS 3.2.3 and 4) and the actual device. (which uses iOS4)
  3. The rotation works since iOS3, and it also works on iOS4 on my iPhone.

This is a very strange case, and without being able to reproduce the bug the QA is claiming. So in this case, I need some advice, could you possibly list out all of the methods for the orientation? This is overkill, of course, but without able to reproduce their claims, I really need a way to force the app to always force orientation on a landscape view.

So I've jotted the following:

  • edit the plist for initial interface orientation for landscape orientation.
  • application setStatusBarOrientation method. Possibly do this in the viewWillAppear method of the ViewController.
  • in the method: shouldAutoRotateToInterfaceOrientation, set the desired orientation only.

Any help is really appreciated.

+1  A: 

Okay, I think I now know what's really going on, after trying things on my own. The orientation is already always on landscape, and all I need is manual translation of the view for older iOS. iOS4 seems to be smart enough to handle this, I presume?

unknownthreat
A: 

If your rotation code is setup correctly, you should need to have any version specific cases. If views do not reply with YES to shouldAutoRotateToInterfaceOrientation: for the orientations you desire, you will get unexpected results for automatic rotations.

Jerry Jones
"you should need to have any version specific cases"? I think, you mean, "you should NOT need to have any version specific cases".
unknownthreat