views:

739

answers:

3

Hi There, My question is related to the iphone appstore deployment handles deployment for when different versions of the iphone request the application. Also, does one have to submit a build for each version i.e 2.0,2.1 and 2.2. I've developed for Windows mobile and redirected users to a certain url based on the windows mobile platform they were using. There they would simply download and run a cab file.

Just trying to get my head around how the App Store deployment process works.

Regards

Tony

A: 

The way it works is that you submit your app built with version X of the SDK. Users will then only be able to download (iPhone) or sync (iTunes) the application if the are running >= X on their phone.

A few things to bear in mind;

  1. There are been many instances of firmware upgrades having changes that have broken applications. For this reason it's better to use and test with recent version of the SDK.
  2. At somepoint it's likely that Apple will "blacklist" old SDKs and require that applications use a minimum of a certain version.
Andrew Grant
A: 

You can use the latest SDK (e.g. 2.2.1) to target phones of any earlier OS, as long as you don't use an API that is only available on a later OS.

target OS   app generally works on
---------   ----------------------
2.0         2.2.1, 2.2, 2.1, 2.0
2.1         2.2.1, 2.2, 2.1
2.2         2.2.1, 2.2
2.2.1       2.2.1

HOWEVER, if you use an API that doesn't exist on an earlier phone OS, then it won't work. For example the APIs on this page won't work on OS 2.1 (You need to login to see the contents of that page.): http://developer.apple.com/iphone/library/releasenotes/Miscellaneous/iPhone22APIDiffs/iPhone21_iPhone22_APIDiffs.html

tomp