ios versions compatibility - ios

Just saw wiki article "ios version history", which says that ios 5 is compatible with iPhone 3GS and greater devices. Does iPhone 3GS, iPad 1 and 2 really support storyboards and new components of iOS 5? or do they require a software update for being compatible with iOS 5?

ios 5 is compatible with iPhone 3GS and greater devices
Means that users can update these devices to run iOS 5. They have to do the update for you to be able to use story board and other new features. But if they are still running iOS 4 or older versions, you can't.

Don't mix operating system with hardware. iPhone 3GS supports storyboard ONLY if it's running iOS5, otherwise not.
There can be some hardware related differences even if all devices use same iOS version, for example iPad without SIM card cannot make phone calls. Storyboard is not such a thing.

Related

How to develop iPhone app for iPhone 5 and newer?

We are developing an application, targeting iPhones, starting from 5 and all the newer models.
Recently, I discovered there is no way to say, that app does not support iPhone 4s.
My ideas are:
Just don't think about 4s. Whatever it looks there...
Give a message in application, that it does not work on 4s.
Questions are:
Are there any other options I have?
Is it a risk of not getting into App Store?
iOS 10 will not support the 4s. If you target your app for iOS 10 and later you can skip the 4s.
Aside from that you'll need some hardware feature that the 4s lacks that all subsequent models have, and make your app require that feature.
(I don't think Apple allows you to pick and choose the models you support.)
Build only for iPhone 5+ architecture armv7s & arm64
Might be one solution.
iPhone_architecture image
Thanks
You can do it by using xCode 8, and iOS 10 that not support iPhone 4s.

iOS: how to exclude pre iPhone 5s devices from universal app without excluding pre 4th generation iPads?

We have an application for iPad (compatible to all iPads running iOS 6.0 and above, so only 1st generation iPads are excluded generally).
Now we are working on an iPhone version and would like to release it as a universal upgrade to the existing app (since universal apps seem to rank better in the appstore than apps with individual versions).
However - for iPhone we would like to exclude all pre iPhone 5s devices. The only way I know of to exclude devices is by having RequiredDeviceCapabilities in the info.plist - and going by this list https://developer.apple.com/library/ios/documentation/DeviceInformation/Reference/iOSDeviceCompatibility/DeviceCompatibilityMatrix/DeviceCompatibilityMatrix.html to exclude pre iPhone5s devices one needs to require either OpenGL ES 3.0 or metal. However, in a universal app I guess this would also exclude all pre 4th generation iPads.
So - is there any way, in a universal ios app - to exclude pre 5s iPhones but still allow the app to be downloaded to all iPads (except for 1st generation, which is excluded by minimum iOS)?

How can I drop iPhone 4 support in an update

My app supports iPhone 4.
However, in the next major update I plan to add features that require better hardware (iPhone 4S and above). If I attempt to exclude iPhone 4 by adding requirements in UIRequiredDeviceCapabilities, Apple rejects the app during submission, citing that I cannot drop support for existing devices that can run the app.
iPhone 4 supports up to iOS 7, so even if I drop iOS6, I cannot exclude the device. Do I have any good options?
You can add "bluetooth-le*” for UIRequiredDeviceCapabilities.
Here you can find a compatibility matrix… is not complete… but… http://blog.manbolo.com/2012/10/30/uirequireddevicecapabilities-and-device-compatibility-matrix

Is UIDevice multitaskingSupported checking necessary nowadays?

I checked this wiki and got to know that from the 3rd-generation iOS device (iPod touch 3 and iPhone 3GS I guess), the multitasking was supported.
So that means all the iOS device nowadays are multitasking supporting since the deployment target is 4.3. And the devices running that version of iOS are newer than "the 3rd-generation".
So no need to check [UIDevice currentDevice].multitaskingSupported , am I right?
You are correct. The last iPhone that didn't support multitasking was the iPhone 3G.
And since new apps these days shouldn't support anything older than iOS 7 (maybe nut rarely, iOS 6), there is no reason to check for multitasking.
And Apple only accepts apps that support iOS 4.3 or later. Any device that didn't support multitasking could never be updated to 4.3.
Any device a modern app will be running on these days will support multitasking.

Iphone version support requirements

My ios app is designed for iphone 5 and up. Will my app still be approved if it does not work on iphone 4s, assuming it would be approved at all?
There is no requirement that your app work on older devices, but you cannot prevent it from being loaded on older devices either - for example, you cannot specify "iPhone 5 or later". You can require a system (i.e. iOS 7).

Resources