We have recently updated Oddy Smog’s Misadventure, adding leaderboards. The thing is that, during the update, Apple released SDK 4.0 and IOS4. So we compiled the game with SDK4.0 and tested it on an IOS4 device. And we updated.
Now we have received an email from a customer who is using an iPhone 2G, which apparently won’t be able to update to IOS4. He bought our game when it was prepared for IOS3.1… and with the new update it does not work for him anymore
So, how could we avoid this problem? Is it sensible to compile it again with SDK4.0, targeting to 3.1, and update the game ‘downgrading’ its requirements?
Yes, target 4.0 base sdk with deployment target of 3.1 (or 3.x < 3.2)
multitasking is no topic in this case because it does not exist on anything below the 3GS+ devices at all (not even if he had an iphone 3G / 2nd gen itouch)
I think I’d just release a separate version for OS4, and maybe add some special features so the customer won’t feel put out about having to repurchase the app.
Basically, the same way most devs are handling the iPad.
its not possible to lose it unless you explicitely state so in the plist.
because to get an application onto the app store at all, you must build it with the OS4 SDK as base sdk which guarantees you that it will be present on 3GS+ devices.
the deployment target of 3.1 only ensures that it also runs on those devices, with the features that are present.
Yes, Base SDK is different from Deployment Target. You MUST build with a Base SDK of 4.0 to get into the App Store now. You can set your Deployment Target all the way down to 3.0. Your app will then run on devices with 3.0 and up, and on 4.0 devices features like multi-tasking will still function.