I have an iOS app which resizes/looks fine between iPhone 4 through to iPhone 6s Plus. However, when I run the same app on any iPad device I get black bars on all sides of my view. I've tried several things to fix it but nothing has works. Here is what it looks like
I checked the following settings:
General>Deployment Info>Devices: iPhone
Autolayout turned on
Size Classes Disabled
No warnings in interface builder
Problem exists on ios 8.0 and 9.0
Works fine in iPhone devices
Xcode 7.2 (started project in Xcode 6.4)
Launch Screen.storyboard exists
I only want it to run on iPhone...
Paragraph 2.10 of App Store Review Guidelines
2.10
iPhone Apps must also run on iPad without modification, at iPhone resolution, and at 2X iPhone 3GS resolution
iOS iPhone app doesn't fill screen on iPad
That is the definition of an app not targeted for iPad, as explained above in the accurate comments from #NicolasMiari.
On the other hand, if you have a genuine reason to not target iPad, because the hardware does not provide a key capability you need, you can explicitly request for that capability, and your app will not launch (nor be proposed on the App Store when browsed from that device).
Examples include SMS, Telephony, HealthKit. See the Device Compatibility Matrix.
Related
So I tried to ship my iPhone app into the App Store. but it get rejected because when the App reviewer test my app they are using iPad and it seems my app is messed up.
and this was the rejection message:
We noticed that your app did not run at iPhone resolution when reviewed on iPad running iOS 10.3.1. Specifically, we were unable to Sign Up using an iPad.
So I searched that I need to make the deployment info devices into Universal. It works well on iPad when I tested out. But the problem is I'm shipping this app for iPad. and when I go to iTunes connect, they were asking for iPad screenshots.
So should I set the device deployment for iPhone or Universal?
The app must work in iPad also. choose the devices iphone only and try to run your app in ipad in 1x and 2x view.
If you want to build for iPhone only, you will need to go to the project settings > General > Devices and choose "iPhone". If you choose "Universal" then you are building for both iPhone and iPad, which is why you need screen shots for the iPad as well. If you build for iPhone only, though, the app can still run on iPad, it will get scaled up.
As for the reason why it is not working on iPad using iOS 10.3.1, you'll have to run it on a device with that version of the OS and do some debugging. The information you gave here is not enough.
Does it use the iPhone 6 Plus version? Where does it get it from?
I ask because I have been building my app based on screen dimensions. iPad's have different screen dimension ratios so I decided to make my app iPhone only. However, when I run my app on an iPad the positioning of everything is totally screwed up! But when I run it on every other iPhone device (from 5 to 6s plus because iPhone 4 dimensions are off) it looks fine!
So where does it get it's version from? Does it pull from the iPhone 4?
Every app can run on the iPad no matter if it is supported or not. If the app is NOT built for iPad (iPhone only) - it would show up as it shows up on an iPhone 4. Be sure that your screens support iPhone 4 or you won't make it past the app review process (annoying but true).
From the Apple iOS App Store Review Guidelines (https://developer.apple.com/app-store/review/guidelines/):
2.10 iPhone Apps must also run on iPad without modification, at iPhone resolution, and at 2X iPhone 3GS resolution
I have an app on the App Store and I've made sure several times that iPhone is selected in: App > Target > General > Deployment Info > Devices > iPhone
..rather than Universal or iPad.
It appears every time the app is approved it still says iPad supported, how can I disable iPad support completely since the above "solution" doesn't work?
That is normal, iPhone applications can also run on iPad in a iPhone simulator mode.
This is the description of one application of mine only available for iPhone.
Compatibility: Requires iOS 7.0 or later. Compatible with iPhone,
iPad, and iPod touch. This app is optimized for iPhone 5.
This one just for iPad:
Compatibility: Requires iOS 7.0 or later. Compatible with iPad.
and this Universal (both iphone and ipad, no simulator)
Compatibility: Requires iOS 7.0 or later. Compatible with iPhone,
iPad, and iPod touch. This app is optimized for iPhone 5.
It seems the same, but in the reality there is also a + sign with written:
This app is designed for both iPhone and iPad
Making them "Just for iPhone" doesn't let iPads not use them. Imagine this bit of a crisis: on the first iPad's release, how did apps get on the store, since they were designed for iPhone? Developers had some options:
Make an "HD" or "iPad" version. This involved redoing the entire UI so it would fit on the bigger screen.
Do nothing. The iPad's would get the iPhone version of the app, but they would just be, as you can guess, oversized iPhone apps.
After a couple years, there was another option:
Make a "universal" app. This allowed both UI's, both big and small, retina and 1x scale devices, to be "bundled" together in the same Bundle. (heh, bundle pun.) Puns aside, this allowed for apps like "Facebook" to run on iPad, iPhone 3GS, iPhone 4, iPhone 5, iPhone 6, the future iPhone cheeseburger double-decker 7+, and everything else, without having to remake the entire app.
On the iPad, as mentioned by Andrea, it runs in an "iPhone Simulator" mode. This makes the tiny screen be rendered in the tiny screen scale, and, since iPad is over twice the size of the iPhone, it gave the iPad a "2x" button to zoom it in and make the UI bigger.
It's like an app designed for iPhone 4 running on an iPhone 6 Plus.
The iPhone 4 renders stuff at 960x720 landscape or 720x960 portrait, and iPhone 6 Plus's display is much bigger. To accommodate, it letterboxes the content and scales it up automatically.
I just built an iPhone app. I was told that this app should automatically run on the iPad in compatibility mode. However, this is not happening when I run my app on the iPad simulator. The screen is weirdly cropped (please see below).
App on iPhone simulator
App on iPad simulator
Is there anything special that I need to do in order be able to run my app on the iPad (compatibility mode)? I already have iPhone selected under project > General > Deployment Info > Devices.
I am obligated to do this because of the following App Store requirement:
iPhone Apps must also run on iPad without modification, at iPhone resolution, and at 2X iPhone 3GS resolution
That is actually compatibility mode. That is how all iPhone only apps will look on the iPad. If you built the application using auto layout, you can enable your application to be universal and see how the app fills the screen of the iPad as full support iPad app.
I have written an app intended for the iphone. Obviously it is ok if it used on the ipad in the iphone mode, but it is an iphone app.
My app got rejected by Apple, I received a mail with a screenshot named Screen_shot_0.png as attachment, that was empty with in the middle the text "My Universal App on iPad" (which you if you open in Xcode the file MainWindow_iPad.xib).
Probably the app was uploaded with the Universal setting, not sure.
I did add icons, launch images etc. for both iphone and ipad.
Now I am confused about the following settings (click on Xcode project file): I will give my settings:
Project "appname"
iOS Deployment Target: 6.1 (should I take an older one?)
Targeted Device Family: iPhone (should this be iPhone/iPad?)
Targets "appname"
Targeted Device Family: iPhone (should this be iPhone/iPad?)
Everything works on iPhone4, iPod, iPad3.
The only thing is that the launch image of the iPad is cut off a bit at the right side, which causes me to think that some iPhone splashscreen is used instead. Would this be an issue for Apple?
If you want an app written for iPhone to run on iPad in iPhone mode, then you've actually done too much.
Just write it as a an iPhone-only app, and the iPad will automatically support it in iPhone mode. iPhone mode on the iPad offers users a chance to zoom to 2x resolution, but everything is "as if" it's running on an iPhone. Be sure NOT to upload as (or set attributes to claim it is) Universal. Don't provide multiple versions of screenshots, only provide iPhone screenshots. Think of "iPhone mode" as an iPhone emulator that runs on the iPad.
Only use "Universal" if you want to package both iPhone and iPad apps (typically with separate storyboards and definitely with distinct screenshots) in a single package that can run on either device. Upload as iPhone only and it will run on iPad in iPhone mode. Good luck!