Hi everyone - Quick question. I'm updating an old(er) game to fix a compatibility bug with OS 4.0. The last update of the game (8 months ago) supported back to OS 2.2.1. How important is it to support 2.x devices anymore? At the moment I don't even have a 2.x device to test against, and it sure would be nice to not worry about it anymore. But the last thing I want to do is screw over people who paid for my game and still run 2.x. Thanks, -josh
I don't believe the newer sdks even support 2.x which should answer your question If you cant test I would certainly move on, apart from a few ipod touch users who have not paid to upgrade, I am certainly working under the assumption that if they cant be bothered to upgrade to 3.0 they are probably not interested in any of my applications!
The best way to answer this question is to look at your analytics and see how many users are still using 2.2.1 for your app. But since you don't have that data, there's still a significant amount of users that are on 2.2.1.
You can be pretty sure that when 4.0 comes out, most people will have upgraded, as it will be free to my understanding. At that point, mostly only the 1g owners will have old software, but their hardware will be far outdated. I guess for now you may wanna keep it down.
Since 4.0 will be free, the only people who wouldn't upgrade would either be people with some kind of problem(s) upgrading, or they are pirates who don't want to re-jb.
This thread covers this subject pretty well. Basically concluding that it's safe to up the version number.
Ah, that helps. I guess maybe I'm confused. If you're running 2.2.1 and you are running an app that previously only required 2.2.1 but now updates to 3.0, does the app store prevent you from downloading the update? The update I'm pushing is just a bug fix that only effects OS 4.0. If people with 2.2.1 can't accidentally download the update, I have no reason to worry about it. -josh
I could be wrong but I think what happens is that anyone who downloads from their device will not be allowed to download a version their device can't run. The problem is that it would be possible to download a version your device can't run from iTunes. iTunes would then refuse to upload. I guess the bigger problem is that if the user ever wiped their device it wouldn't restore. Unless iTunes is smarter than I give it credit for and keeps backups of previous version of apps where the OS requirement changed (I doubt it). The point is that Stroffilino said he had one (non jailbroken) user complain and he didn't even know he could upgrade. The 5 jailbroken guys who complained were doing so because he went right up to date to an OS version that hadn't been 'cracked' yet, if he'd gone to 3.0 or even 3.1 they wouldn't have complained, jailbreakers don't run 2.2.1, they just have to occasionally delay getting the latest version. I suspect that there may be a significant number of 2.2.1 users but these are probably mostly people who just don't sync to iTunes so will be accessing the app store on their devices and probably rarely buying games if they haven't felt the need to upgrade to 3.0 at some point in the last year.
I used to be a strong supporter of 2.2.1 support on these forums. But now that iOS4 will be free to everyone except 1st gen devices (which is quite a small percentage of the overall devices out there according to data I've seen,) I'm beginning to think complicated apps like games can safely shift over to 4.0. I think, if you're doing a simple IB App that doesn't need iOS4, it might still be worth supporting 2.2.1 just for those extra 5% of customers. But then again, that might be worth it to complicated app developers too - I guess you need to weigh up the benefits your app will gain from using OS4 features, against the size of the market you'll be missing out on by not supporting 2.2.1.
In the end... thanks for the input everyone. in the end after taking into account input from here and the iphonesdk forum i've decided to keep supporting 2.2.1. the key reason is that the majority of my games players are ipod touch owners, and about 20% of those are on 2.2.1. even though 4.0 is going to be free now i am sure there will be compelling reasons for older devices to not upgrade. supporting 2.2.1 has been a massive pain in my nuts. first i tried downgrading a device from 3.1.3 to 2.2.1. i got as far as 3.0 but couldn't get down to 2.x. that took about 6 hours. then i had to go scour craigslist and eventually found someone selling a 2.2.1 ipod touch that i purchased. that took another 6 hours. then i discovered that SDK 3.2 won't even install a binary on a 2.x device (even though it will compile one with support for it.) so i had to go install sdk 3.1.3. in the end, if there are even .5% of my games players who are on 2.x, this has been worth my time. but i'm not sure i understand why apple decided to stop allowing builds to run on 2.x in SDK 3.2. anyone out there with a 2.2.1 device who plays ow my balls! i hope you give it an extra star when we release the next update -josh
With all the new devices in the market, it's probably not that important anymore. OS 3.x was introduced over a year ago. There's too many api that you would have to give up for not forcing OS3 in your app and there isn't that much people that are still stuck on OS2 (mostly jailbroken, hence stuck) who probably wouldn't buy your app anyway.
Another way is to use iTunes to install the app, you just drag the .app file onto iTunes, and drag your provisioning profile onto iTunes, then you can just sync the app like any other app.
3.0 is free now, and 4.0 will also be free, so it's unlikely anyone will be on 2.x So you needn't worry. Also, plenty of other devs will have updated by now so you wont be the first!
Funny this thread came up, as I was going to post the same question and set up a poll here... I am currently working on my weekly blog post (to be publish next saturday) and it was one topics that have got me struggling for a while. Should I keep 2.x support or move to 3.x and beyond. It might not be very scientific but I have set up a poll on our website http://www.quebarium.com asking if you support 2.x iDevices or not (I gave a few No options as to see why people don't want to do it). So ill be glad if you can vote and you can share your though here. Until recently I was also a very strong defender of 2.x iDevices out there, as I saw from previous developer and stats from the end of last year posted by Flury that they were still a very large portion of iPod touch still running 2.x. As at that time if you wanted to upgrade to 3.x you needed to pay $10, and it seems not many people were willing to do it. Especially since many of the added features were more of interest to developers then end users. And sometimes we say : If it ain't broke, don't fix it Myself I have kept running iOS 2.2.1 on my iPod touch 2nd gen. until very recently when I decided to beta test LandFormer from @owengoss. As it was only working on 3.x iDevices. I was thinking to downgrade it once more when I am gonna test my own games that was still targetting 2.x iDevices (my game is still relatively simple and its all UIKits based and wasn't using or needed the new features). But then the presentation of iPhone 4 at the WWDC along with the official release date of iPhone OS 4.0 change everything... when it was announced that the price of the upgrade was going to be FREE for all iDevices (minus the iPhone 1G which isn't supported). I know that a few features such as multitasking won't be supported on older iPod touch, but in general almost every iDevices could/should be updated to iOS 4.0. So I think the question of the thread opener is even more relevent today. I know its only been a week since iOS 4.0 have been made available, but would like to hear your opinions about wether its time to leave the past and go forward with iOS 4.0 (its hard to see reasons why someone would stick to 3.x now, unless jail breaker maybe?). Thanks for your comments/opinions this will help me shape up my blog post
What we are doing now since 4.0 was released is use base SDK 4.0 and set the deployment to 3.0. This way we can do a build that will work on a 1st gen iPod and 1st gen iPhone, while getting to use all the latest 4.0 enhancements for the newer devices. Then when the game boots up we test to see what device is there and use the correct code path. As for 2.2.1 why on earth are people supporting it and using it because the GL drivers got faster with 3.1 and a lot more faster with 4.0. If you are into games then surly you would upgrade for the best performance. As far as I am concerned 2.2.1 is now dead to developers and 3.0 should be dead as well.
As GlennX has pointed out--your iOS4 app update will not appear on devices that are running a lower version OS so I guess you won't have any problem with customers who haven't upgraded, right?
I think we just hit the final nail in the coffin of iOS 2.x today!!! http://developer.apple.com/iphone/checklist/ "All new applications and updates to existing applications must be built with iPhone SDK 4. Please note, the App Store will no longer support applications that target iOS 2.x." Apple is really pushing us forward, but this time it should be ok as everyone can simply now go in iTunes and do the upgrade freely (unless you have an iPhone 1st gen or iPod touch 1st gen). Or those jail breakers that seems to have trouble with the more recent iOS update. It seems this is the end of this thread and the discussion on that matter. Now the next topics will be should will still target 3.x? As now people will most likely all move on to 4.x.