XCODE Swift2 : Submitting my app - ios

I am ready with the coding and everything. My app is an iPhone app and it looks great in iPhone5, 5S, 6, 6Plus, 6S and 6SPlus but not on iphone4.
There is formatting issue. the buttons are overlapping because of the constraints but they look perfect on iphone5 and above. Similarly it works perfect on iPadPro but not one other iPads.
My targeted decides are iPhone5 and above. Do you think I still need to fix iphone4 formatting?
Would apple check on all devices even thought that's not my targeted device?
Thanks

Yes, your app must work properly on the iPhone 4(s). And it must work properly on all iPads, not just the iPad Pro. Fix it or be rejected.

Related

Custom font displays very bigger size in different simulator sizes (e.g iPhone 5c, 6s, etc)

I am working on iOS app, I added some custom font to my app. After applying that font, its working fine in iPhone 7 Plus, but if I run that app in iPhone SE or 6S, 6 Pus, showing very big font sizes compare with 7 Plus. Due to this, my view getting very worst layouts. Even app icons also showing big on above-mentioned devices simulators. Really strange, I am checking with Simulator as I don't have the device now.
By the way, we are not using constraints, we are using auto resizing.
Xcode version : Xcode 8,
Simulator iOS 10.2
Can anyone suggest me how to fix this?
I had the same issues when I was not using auto resizing properly, try to figure out the auto resizing once again and see the result for different devices on storyboard itself.

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.

Want my app to only work on iPhone 4 and above and no other devices

Hell all,
I have developed an app that should only work on iPhone 4 and above. The reason is during load time, the app checks the type of iPhone you have and set certain images based on the screen size.
Is this acceptable by apple for me to decide which iPhone user running and set the images based on that?
Also where do I say I want this app to run on iPhone 4 and above up until iPhone 6+ and not on any other devices such as ipad and etc?
Thanks
Borna
Set your Devices to iPhone rather than Universal under General>Deployment Info and make sure your Deployment Target is set to iOS 7.0.
As #Sam B told below, there is no way to specify certain devices.
But with following trick you can get result that you need:
Set your Devices as iPhone in General Tab of xCode proj file. Also if you want 4+ devices set Deployment Target as iOS 7, if you'll keep iOS 8+ it will be 4S+ devices only.
I don't understand how the posted answers are considered correct?
The answer to OP question is NO. There is no way for you to restrict access to certain iPhone device (4, 4S, 5, 5S, 6, 6P). If you specify your project to be "iPhone" only in Xcode then technically it will run on all iPhone no matter what the model.
Now having said that you can theoretically make it work only on iPhone 4s or above by setting iOS to 8.0 or above as one cannot load iOS 8 on iPhone 4 or below.
As for the apple reviewers, they will test your app on the latest app device, iPhone 6 or 6p. They don't have time to regression test your app on all possible apple iphone devices.
Does this make sense?

iOS 8.1 Simulator for iPhone 6 Plus cutting off part of view

I'm using Auto Layout/Constraints with Interface Builder in Xcode 6.1, so that my App renders correctly on all iOS devices. It works great across the iPhone 4s/5/5s/6 simulators and a real 5s, but part of the view is cut off when I run it on the iPhone 6 Plus Simulator.
To debug this, I downloaded the AlternateViews example code from Apple, and saw the exact same behavior. Then I tried to write a really simple test App, and saw the same thing again. I noticed that the iPad Air Simulator also cut off part of the view, and when I tested on a real iPad Air, the simulated/real displays did not match. I feel like there is something wrong in my dev setup (not a bug in the iOS Simulator), but I've double-checked everything and even reinstalled Xcode. Please let me know if you've seen this before, or have a recommendation on what to try next. Thanks!
AlternateViews Example on iPhone 6 Simulator:
AlternateViews Example on iPhone 6 Plus Simulator:
My SimpleTestApp on iPhone 6 Simulator:
My SimpleTestApp on iPhone 6 Plus Simulator:
My SimpleTestApp on iPad Air Simulator:
My SimpleTestApp on Real iPad Air:
I've seen this offsetting on rotation issue, starting in June 2014 when iOS 8 first went public, and I submitted to Apple a test project that showed how to reproduce it. In most cases it is possible to work around and prevent it, but my test project continued to demonstrate the issue.
A few weeks ago, however, Apple replied to my bug report, asking me to test in iOS 8.2 (available in beta as part of the Xcode 6.2 beta). The issue could no longer be reproduced!
Therefore I would suggest that what you're encountering is, at least in part, a genuine iOS bug, and that iOS 8.2 will prove to have fixed it.

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