How to know an iOS apps COMPATIBILITY status using Xcode - ios

As of know my app's compatibility status in AppStore is
"Compatible with iPhone, iPad, and iPod touch. This app is optimized for iPhone 5."
I want to make it compatible with iPhone 6 & 6+. So, i provided all the requirements for making my iOS app to compatible with iPhone 6 & 6+.
My question is:
I want to know my apps compatibility status before sending to AppStore Review process. So, is it possible using Xcode ?

first, you can run it in iPhone 6 Plus simulator, if the state bar is very fine, not to become big, then your app is optimized for iPhone 6+.
if your app doesn't optimize for iPhone 6, the screen you see is very terrible, just like small screen was dragged to 2x, like mosaic.
if you have friend who have iPhone 6 Plus, you can run it on the device.
for my app, I just delete the launch screen, and add a new one, then Xcode want me to add the launch image of iPhone 6 size, I did this, and run it on simulator, I found the screen didn't mosaic, the control recover the original size, not mosaic, what's more, it become chaos, because the size become small, screen have some blank areas.
then I use auto layout, restrain the control, make them fill all screen, now finish
my english is not very good, you can ask me if you don't understand it

Related

If an app is only for iPhone, where does the iPad pull it's 1x/2x version from?

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

Target iPhone 6 plus to iPad app

I've just got my iPhone 6 plus and noticed that a lot of the Apple apps are using the iPad version when rotating the phone to landscape. It makes sense since the screen is so large.
So my question is. How do I detect this in Xcode to target iPhone 6 plus phones to run the iPad version of my app?
There is nothing to detect. An app should be written so it doesn't really care what device it is on. Everything should be based on size classes and auto layout.
In the examples you mention (in the comments), most likely what you are seeing are UISplitViewControllers which looks similar on the iPhone 6+ as it does on the iPad.
Just write a proper universal app with one set of screens that properly adapt themselves based on the current size class.

Prevent iPhone App from adapt to iPhone 6

i have an application which i built for an iPhone 5. When the iPhone 6 did not exist and that the app was not ready for iPhone 6 the app simply stretchs its contents so it looked good for me.
Nevertheless to submit my app to the app store i need to add some splashcreens when i add the splascreens for iPhone 6 & 6+ the app adapt its content to the screen size, it is no more stretched.
I wonder if someone had a tip where i can add the missing splashscreen and keep my app unchanged so it will stretched to the screen.
Thanks

App on appstore has iPad support when iPhone family set?

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 don't want my iOS app to run on iPhone with 3.5 screens, is it possible to restrict my app only to 4 inch displays?

I don't want my iOS app to run on iPhone with 3.5 screens, is it possible to restrict my app only to 4 inch displays or larger?
Also, is it possible not allow the app to run on a certain device? I do not want my app to run on iPhone 4 and 4S.
Rather than selecting for a specific device you should focus on what capabilities you need.
For example Bluetooth 4.0 Low Energy communications supported only in iPhone 4S+ devices . You can add the bluetooth-le key to your UIRequiredDeviceCapabilities to prevent installation on every device but the iPhone 4S+ devices.
I don't think this is a good idea. Apple wants you to develop for as many devices as possible, and if you decide not to support a certain device for no reason (e.g. "no M7 coprocessor" for all devices except the 5S), Apple will reject your app.
You cannot choose an app to only be released for 4" devices, and you have no influence on what display the iPad simulates when it runs an iPhone only app. What you want is simply impossible. This answer was found here: Limit app to running only on 4 inch devices IOS and answer credit goes to #Scott Berrevoets
NO.
You can't make an iPhone app restricted to a certain screen size. Not only is it not technically possible, it's against Apple's App Store Review Guidelines, in ways.
2.10: iPhone apps must run on iPad without modification, at iPhone resolution, and at 2X iPhone 3GS resolution
Although it's an old guideline mentioning the iPhone 3GS, the gist is the same even now: the app MUST be able to run on any screen size. There are even resizable iPhone and iPad Simulators within Xcode that you may use to take guesses on the next iPhone's screen size.
If they made guidelines so that apps can be used on the iPhone 3GS and the 4 and the 4s, said apps should also be able to run on newer phones and whatever's currently supported with the OS.
You said you noticed performance issues on older devices in a comment. This is where you need to work. How would you go about fixing said performance issues on older devices? Do what Apple did with iOS 7's release:
Reduce graphical effects and unnessicary processor-heavy effects on older devices.
If you look between devices, iPhone 4 has none of the translucency and background blurring that was advertised with iOS 7, namely with Control Center, Notification Center, Alerts, Keyboards, and Navigation Bars. This is how Apple tried to compensate with the lag of the iPhone 4 trying to run iOS 7. Same goes with the iPad 2. The iPod touch 4th generation didn't have enough RAM to run iOS 7, so it's stuck on iOS 6.1.5.
You need to do some work here too. If you have unnessicary graphical and processor-intense effects in your app that causes lag and performance issues, disable them on devices that can't run them at a smooth frame rate.

Resources