We have an app that has been rejected in the review process by the Apple app review people. The cause for the rejection is that the app is not scaling properly when run on an Ipad.
The app was never meant to be run on an Ipad, but there seems to be no point in arguing with them about that.
Apple sent us a couple of screenshots that show our app being run on an Ipad with the top portion of the view cut off. Notice how the app is run in some mode where it looks like an Iphone app and does not fill out the entire display area. When we bring up the app on an Ipad, it fills out the screen and does so without any edges cut off.
Can anyone please tell me how to run the app on an Ipad the way the Apple guys have - Iphone-sized? We believe we have a fix for the issue but we need to reproduce the error and then be able to verify that the fix solves the issue.
(the logotypes in the images are intentionally blurred)
I just went through this myself and here is how I resolved it:
Go into info.plist and see if any of the supported interface orientations are set for iPad. Despite selecting iPhone only, I had iPad supported orientations for four (portrait, portrait upside down, landscape left, landscape right). I deleted those.
I also deleted any reference to the launch screen in the info.plist. My app is pretty simple and there's no preloading of data so I don't really need a launch screen. If you do, you could go old school and make your first VC the launch screen.
I then made these changes in Target-->General-->App Icons and Launch Images
That was the only way I could get it in the sim to run the app at iPhone resolution while running an iPad (iPad2, iPad Air).
If Apple is going to force developers to ensure an app runs on an iPad even if it is made just for iPhone, they should eliminate the iPhone Only and Universal options and just have iPad Only as an option.
To run an iPhone app on an iPad, you just need to:
Acquire an iPad (you can also use the simulator)
Set the target device family in Xcode (it's under your target) to iPhone
Connect your iPad, perform any necessary certificate dances
Run the app on the iPad.
As long as the target device family is set to iPhone, the iPad will show your app in this mode.
Apple is likely running your app on a simulator, not on a real device. Notice the "2X" on the top right. In XCode - you should run the app on iPad Retina Simulator. On the bottom right you will see a button that you can toggle from 1X to 2X.
If you place the simulator in "2X" mode, you will see what Apple is seeing.
What OS are you running on your iPad? Things have changed in iOS 8 - and that's likely why you're not seeing what Apple is seeing. My guess is that your are running an app that was initially developed for iOS 7 or earlier - which means that you need to upgrade from scaled resolution to native resolutions to resolve this issue. Here is how you do it:
How to enable native resolution for apps on iPhone 6 and 6 Plus?
Related
my app is very basic and looks great on the iphone but in compatability mode 2x on the ipad it does not show the same screen as on the iphone. it was built as an iphone only app and has no major graphs. this is what Apple told me. 2.10: iPhone apps must also run on iPad without modification, at iPhone resolution, and at 2X iPhone 3GS resolution
I've had the same behavior on a physical iPad 2 for an existing working iPhone-only app.
In fact, after adding for each Retina images (suffixed by #2x) a corresponding non-Retina version in the project, my app launched successfully on the iPad, without any modifications...
I'm not sure it will work for you, but might worth to try ?
I am about to submit a game app for a review.
Game is built with iOS SDK 6.1 and iOS 5.1 as deployment target.
I currently do NOT have views for iPhone 5 (wide) and
the app is running in a letterbox mode on the IP5 which is fine.
The apple guidelines says that Default-568#2x (IP5 launch image) image is required,
but I get a problem if I include this image - the app is not longer running in letterbox mode and looks broken (content is not centered, appears on the left in landscape).
If I do not include the launch image for the IP5, can I expect problem with app review?
Has anyone recently submitted app without IP5 launch image?
IMPORTANT UPDATE:
Original question is now outdated! Since May 1st 2013 all submitted apps must have iPhone 5 launch image and you cannot rely on compatibility letterbox mode anymore.
You only include iPhone 5 launch image if you are supporting that screen. Not including the Default-568#2x.png launch image indicates that you are implicitly not supporting the screensize of the iPhone 5 and letterbox mode will be applied to iPhone 5 devices running your app.
You will not have any issues on the App Store. That is until Apple decides that all apps must support the 4" Retina screen going forward.
I just got App rejected for not having the -568h launch screen, which it says has been required as of May 1.
You are no longer allowed to submit an app or an update to an existing app without support for the 4" retina display on iPhone 5 and iPod Touch 5. Your binary will be rejected by an automatic scan process before it enters the "Waiting For Review" state.
No, not required Default-568#2x if you want to run your app in letterbox....
I have created an iPhone Application, which works only on iPhone.
Now, I want that App on iPad, too.
Is there any way that I can reuse my existing iPhone XIBs to support that App on iPad. (I don't want to recreate all the XIBs for iPad separately.)
Any guidance for that?
Also, What other points I need to take care of?
Your iPhone app will work in iPad if you choose 2x zoom view. But the display will not be of the highest quality. Now rumors are there that next iPad will have retina display. So, one suggestion I can give is, when you create a new project, Choose "Universal" as the option for device family.
Depending on your app, Feature detection might be one thing you have to look out for when you try to run an app on iPad. For example, Siri is available for iPhone 4s, but not iPad 2. (Although the API for Siri isn't out yet, I'm just putting it there). Also, iPhone 4 has camera, while iPad 1 doesn't have.
Click on your target, and under "Devices" change to Universal. Now your project should run on either device.
Which part of the app is it that "triggers" the iPad app as it's own app as opposed to running the iPhone version in a universal binary?
What do I need to change to make my app Universal, after clicking "Upgrade current Target for iPad"? My app runs on outside of the simulator, but my images are too small and my text is out of place. What am I missing here?
To the opposite end, how do I force my Universal app to run as an iPhone app inside the simulator on the iPad? (When changing "Target Device Family", it will run the iPad version of the app in the simulator, but not the iPhone version.)
EDIT:
It seems to me that these questions kind of complement each other. While I suspect it's the same mechanism at work in both situations, I'm not sure what it is, or how it works.
There are keys in the info.plist file put there by the Targeted Device Family setting. The iPad looks for those plist keys to determine whether to launch as a Universal app or in iPhone emulation mode, and which idiom's xib files to use for app launch.
Added:
If you don't have, and specify in the plist, a .xib file suitable for the iPad idiom, then one with the wrong UIWindow frame is used, which ends up in the upper left corner.
You need to re-code the app for the iPad to lay out your text and images how you want them when it is running on an iPad.
To make it run as an iPhone app you stop it being Universal.
The build setting is called Target Device Family
That's where it starts.
If you wrote a universal app and you want to force the iPhone mode on the iPad you switch Target Device Family to iPhone only and it will ignore everything else.
From Apple Review Guidelines
https://developer.apple.com/app-store/review/guidelines/
iPhone apps must also run on iPad without modification, at iPhone resolution, and at 2X iPhone 3GS resolution
I tried running my app on the iPad simulator. I thought it would be centered in the iPad screen but it was instead in the upper left hand corner. The size that of an iPhone app. Is that typical.
My questions:
a.) Why would the main view be located in the upper left hand corner?
b.) Is there anything special I need to do to an iPhone app to make it pass the above rule. At this time, we are not ready to release an iPad version.
That is strange indeed. Did you try testing it on an iPad device?