Is UIDevice multitaskingSupported checking necessary nowadays? - ios

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.

Related

How to confirm App Store will respect my minimum iOS version?

We have set the minimum version of our App to iOS 10 in the Deployment Target setting in its build target in Xcode. I want to confirm that someone running iOS 9 cannot download the app. The app is on the App Store already.
I have a device which I would like to load iOS 9 on in order to test this. I checked Xcode and I can only download iOS10 on the simulator. There are sites all over the place with .ipsw files I can download, however they are for jailbroken phones - they are not signed by Apple. I do not want to jailbreak the device. Anyway I think that would not even work as I couldn't get to the App Store anyway.
There are a few iOS device models where the maximum iOS version supported is iOS 9, such as the iPhone 4s, and equivalent vintage iPad. Apple still signs iOS re-installs on such devices. You might be able to borrow or buy a used one fairly cheaply, and use that for Deployment target testing.
There is nothing to confirm. An app with a deployment target of iOS 10 cannot under any circumstances run on iOS 9. It won’t be downloaded to an iOS 9 device. But you cannot prevent the downloading of the app in some other way (though it still cannot run on an iOS 9 device). So just believe in reality and move on.

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).

Make app not support iOS 7

If for managerial reasons I'm am developing an app that has not been designed with iOS7 in mind(the notion of supporting iOS7 wasn't apparent until I upgraded to XCode5 and tested the app in the simulator running iOS7), can I restrict my app to devices not running iOS7?
I know it's possible to change the app to support iOS 7 but we're already in the testing phase and it's not my decision how the app is made.
You can compile your application using Xcode 4, which will mark the binary to run in a compatibility mode on an iOS 7 device.
I'm assuming you want the app to still work on an iOS 7 device, just not with an iOS 7 user interface.
No, you can not restrict your app to devices not running iOS7.
You could check if the device is running with iOS 7 and through some kinde of exception or show an error message. Of course you won't get it through apples revision.
But it might work if you only deliver it to local devices.

iOS Device Test Mode and old iOS development

When I was signing up for development program, then in the agreement, I saw a clause which basically stated that if a pre-release software is installed on any device, then that device will be put in test mode. So, what exactly is the limitation of a test mode as compared to a device which is in "normal" mode? Also, if I install iOS7 in a device (after iOS 7 has been released), then will the device be considered to be in a test mode if I test my application on it ?
Moreover, if I submit an application which runs on iOS 6 after iOS 7 has been launched, then can that be considered grounds for app rejection ? I will develop app for iOS 7 also. However, that will take some time.
Thanks
As far as I know, there is no limitation in "test mode".
If your application is developed for iOS 6, then it should still work on iOS 7 as well, but with the iOS 6 look & feel. However, it is always best to test it on a real device with iOS 7, of course.
There's no practical difference once you start using a device for development. I use my personal iPhone for most of my testing; it has no effect whatsoever on the utility of the phone.
On your second question: your app will NOT be rejected simply for supporting iOS 6, or any older version of iOS. Apple wants you to write apps that support iOS 7, of course, but they absolutely will not reject an app for supporting older versions; that would be crazy.
If your app actually failed to work on iOS 7 (once it's released), then obviously that would be a different matter.

ios versions compatibility

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.

Resources