iPhone app 'fake' landscape mode - iphone

So after wasting many hours trying to get my app to run in landscape mode by defualt I'm looking for an alternative.
My idea is to create the app in portrait mode but rotate everything by 90 degrees, the player thinks that he is playing the game in landscape mode (when really I've just rotated everything). I recognise it will be a little awkward to develop but I come into all sorts of issues when I try to program for landscape.
My question is, does Apple frown upon this? Could they reject my app for any reason or is this safe to do? Are there any issues I should be aware of?
Advice/articles/help all appreciated.

I do not allow landscape mode in my applications and none of them have been rejected. Sometimes an application does not benefit from being in landscape mode.
EDIT: The same also goes for portrait mode. If your app makes sense only in one orientation or the other, Apple will not reject you.

There is a key you can put into your Info.plist to make it start in landscape (see here). Or have you already tried that?

There are reportedly immersive full screen Open GL games that hide the status bar and do this. Note that you will still need to detect and handle landscape-left and landscape-right rotations or your app might appear upside-down.

Just set an affine transform on your top-level view, and be careful to always use the correct coordinate system.

Related

Swift sprite kit landscape only forced into portrait

I have asked this question before but maybe due to my bad explanation unfortunatly I did not get a reply. I am still having the issue with my spritekit game that is in landscape only.
When I lock my device or sometimes just switch to another portrait app, and than return to my game it is forced into portrait mode for 1-2 secs. This does not happen with other games and I do not understand what I am doing wrong.
I have set orientation to landscape left and right only (in Targets-General), changed the orientation settings in GameViewController.swift and also changed the Info.plist settings for "supported interface orientation" to make sure it is only landscape left and right.
What am I missing? I would appreciate any replies. Thank you very much
So it turns out after ages of research that it is the iAd Banners that cause this issue.
To fix it simply remove them from the superView in AppDelegate when application "WillResignActive" and reload them when application "WillEnterForeground".
Credits goes to Iganton
Background app screenshot showing wrong orientation after double tapping home

iAds mess up my screen drawing?

I have a universal iPhone/iPad app that I'm in the process of completing. This is a music listening app that connects to and allows you to listen to music off of a user composed music site.
Since the user base for this app will be very small I've decided to put iAds in to try and get a little recovery on the programming costs.
The app is xib-less meaning that I create all components and draw every view manually. I have all of the code in place to place the iAd on screen and off screen for its various states. My app supports all rotations of all devices and my screens correctly reposition all components for every possible orientation.
After digging deep in the documentation I found that Apple always displays tapped on iAds in portrait mode. If my device is in portrait mode (upright) then there is no problem. However if I'm in landscape or upside down (yes it makes sense for this app), then the iAd displays in portrait but when closed my app is a mess.
The best way I can describe it is that each of my display items has a frame which I manually set to position it where I want it for each orientation. This works perfectly until the user taps on an iAd. The modal iAd dialog comes up then after it is closed even if I force a reposition of my components nothing draws correctly.
I've checked the view frame coordinates before and after the ad and I see some minor shifting. But what is so strange is that my components even when forced to their frame locations I desire are just a mess.
Any help would be greatly appreciated. Here is a link to the screen movie incase
embedding doesn't work: http://www.screencast.com/t/1pSwUI3EiMF

What is an effective way to deal with iphone orientation change while displaying an image

Disclaimer: I know the question of locking orientation has been asked, and solved. But that's only half my question.
I'm building an iphone website for a small indie game developer. They want to be able to show off screenshots from some of their iphone games. This is somewhat of a problem though. All the screenshots are taken from the game in landscape mode, so it really doesn't make any sense to display them in landscape.
Currently I have a very lightweight lightbox-style display for the image. You click a button on the site, and the image pops up (through ajax magic!) to occupy the full screen. Clicking anywhere on the image makes it go away, as if you had never viewed it.
I'm thinking that the two most practical solutions are either: a) lock iphone orientation for the duration of displaying the image; or b) do some very sneaky rotation on the image when the phone rotates, so no one ever notices. Are either of these possible/feasible? If so, could you give me any tips? And if not, has anyone solved a similar problem?
A demo of this is available at my personal server.
My $.02
As a personal design decision - I would have two images, and switch them as the rotation changes from portrait to landscape. Locking orientation seems so unfriendly. As some extra eye candy, You may want to put some sort of transition image in there between image swaps.
Here is something that may help .. http://snippets.dzone.com/posts/show/4912

Regarding iPhone orientation and firmware: Always force orientation

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:
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.
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)
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.
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?
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.

iPad Orientation Paradigm

I'm not a super awesome designer so this new paradigm has me a little cranky. The iPad is not supposed to have a standard orientation, and should/shall display screen contents at whichever orientation the user decides. This has me sort of stumped. I can keep my UI designed the way I want it in landscape mode, but switching to portrait, I just can't determine the best way to present app content.
I know it's all speculation at this point, but what are the chances we can override the autoRotateToOrientation to only include the orientation of our choice? Apple ignored the HIG on a lot of issues for iPhone, including splash screens, saving state, etc.
I know we can't really argue with Apple, but doesn't it sound slightly ridiculous to reject an app because it won't rotate to portrait?
I've come a long way porting some code to iPad and it works great in landscape mode. I guess only time will tell. What do you all think?
This video: Designing for the iPad from the free Stanford iPhone Programming course might interest you.
If you also registered for the paid iPhone developer program, then I believe there's also the HIG available for the iPad in the site.
Why not design your UI to be fluid? Keep the most important elements high in the hierarchy and let the others flow further down the screen when viewing in portrait mode?