Target iPhone 6 plus to iPad app - ios

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.

Related

Is there a specific iOS device size that is standard to use when building out the first version of an app?

Does it matter which UI size you build first? I know most people recommend building out the iPhone version of the app first - but does it matter which iPhone version (i.e. iPhone XR, iPhone 8, iPhone 8 Plus)?
Maybe simply going off of the most used device, and build from there?
What you really need to focus on is testing your app on all sizes. It doesn't really matter which iPhone size you start with, you should make sure that the UI follows AutoLayout and it's compatible with iPhone SE, 8, X and etc.

generate ios 10 universal app splash screen sizes and filenames, iPhone SE

I am making an iOS 10 ONLY Universal App. Being a developer with poor image-handling skills, it has become too troublesome to generate the splash screen images for me. I guess that's some work for the "designers".
Nevertheless, i have to do it and I need help because what i have made doesn't work fine with the iPhone SE.
I don't care about older devices and operating system versions, but i want to cover every device that can run iOS 10. so forget iOS 6,7,8,9.
Btw, i am using Xcode 8, so forget all about Xcode 5,6,7.
There's too much of confusing content for new developers often wasting their time while they read about older versions and which might not be quite applicable anymore.
I have read the following posts/guides already.
What are the sizes used for the iOS application splash screen?
Image resolution for new iPhone 6 and 6+, #3x support added?
Image sizes required to support all iPhone devices
How to handle image scale on all the available iPhone resolutions?
Use vector artwork for iOS launch image in asset catalog?
The first SO post is so outdated, people are talking about iOS 6 & 7,
and iPhones 6, 6+, 5S, 5, 5C, 4S, 4 and the various iPads.
But no one mentioned/talks about iPhone SE.
The second SO post is also quite outdated, people are talking about iOS 7 & 8, and iPhone 6 and 6+ are mentioned.
Even though i figure out the size, there is a filenaming/convention issue.
I am looking for a table that clearly states the filename, image size(resolution) and the devices it will be applied to.
As usual, Apple's documentation provides good detail about image resolution but nothing about filename.
link -> https://developer.apple.com/ios/human-interface-guidelines/graphics/launch-screen/
I wonder if the filenames matter? I can easily modify the Contents.json file i think.
Is there some tool where i can provide my logo in vector (SVG) format
and it gives me all the splash screens with my logo in the center (with the correct filenames!)
I believe the iPhone 5/5C/6/6S/6+/7/7+ are the only 7 iPhones that support iOS 10. (i checked Wikipedia) Did i miss something?
In a universal app, is making images for iPads mandatory?
Why doesn't everyone use and everyone allow using vector images directly? I hope i can use SVG, and it is easy enough, it looks like currently that is infeasible. correct if i am wrong.

How to know an iOS apps COMPATIBILITY status using Xcode

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

Can I use UIRequiredDeviceCapabilities to restrict an app to iPads and the iPhone 6+?

I have an app whose UI needs quite a lot of screen space. At the moment, it's iPad only, but I think it would be OK on the iPhone 6+. I'd like to make it a universal app but restrict it to iPads and the iPhone 6+. Is there some combination of device capabilities I can set to achieve this?
You can't.
Because iOS 8 supports devices with 3.5" & 4" screens, you can't use the only-support-iOS-x technique.
Also, there isn't a setting in Xcode or a key for requiredDeviceCapabilities which allows you to make the app for iPhone 6+ only.
As you can see in this link there is no capability that isolates the iPhone 6 and 6+.
In this sense you can drop the idea of doing so because you would never pass AppStrore approval for what you are looking for. [added]Unable to use device capabilities[/added] The AppStore leaves you with only TWO device-specific options iPhone (for ALL iPhone models) and iPad (for ALL iPad models) or both.
For that to work without a specific capability the AppStore would need to change (!)
Sorry for bearing bad news :)
Well Signo is righgt.
iOS 8 supports devices with 3.5" & 4" screens, you can't use the only-support-iOS-x technique.
but yes you can do one more thing like for iphone6+, ipad you can continue with lots of screen space.and for other small screen devices you can design screen with required size by help of size class selection.
Hope it helps!!

Does my iPhone app have to work on iPad too?

I was reading the apple guidelines are there is a point which says
iPhone Apps must also run on iPad without modification, at iPhone resolution, and at 2X iPhone 3GS resolution
Does this mean if my app doesn't work perfectly fine on an iPad, it gets rejected? I'm posting this here as I found many contradicting information regarding this.
It means it has to run, not that it has to be optimized for iPad.
There is a big difference in that. You don't have to create iPad storyboard in order to make app run on an iPad - Xcode lets iPad use the iPhone storyboard and open it as if it was an iPhone. The view is then shrunk into a smaller rectangle.
You are aiming for something like this:
Apple has build Xcode in way that when you build and iphone app, it will also be compatible for iPads with 1x and 2x resolution. So you need not worry about creating a separate storyboard for iPad. Hope you find this helpful. Happy coding !

Resources