8

I have an application that was originally written using iOS 3.1 Last week I did an update to the application via iTunes Connect but mistakenly left the "Base SDK" and "iPhone OS Deployment Target" both set to 4.1 I now plan to resubmit the application using "Base SDK: 4.1" and "iPhone OS Deployment Target:3.1"

My questions is: as its currently posted with both values set to 4.1 does that mean that the application will only run on 4.1, although I am guessing it will run on anything later than 4.1? N/B: the application is fully compatible with 3.1 (i.e. its not using any 4.0 features)

My understanding of the two options is: "Base SDK" is the newest version number of iOS whose features you want. "iPhone OS Deployment Target" is the oldest version number of iOS that you will support

fuzzygoat
  • 26,573
  • 48
  • 165
  • 294
  • possible duplicate of [iPhone: Minimum OS, Deployment Target & Base/Active SDK](http://stackoverflow.com/questions/1920542/iphone-minimum-os-deployment-target-base-active-sdk) – Jakob Borg Oct 10 '10 at 14:19

1 Answers1

10

Your understanding is correct, it's exactly like that.

Regarding your question: of course your app will run on newer OS versions, provided they don't remove any methods/classes you use. But if your app does not make use of 4.0 features or properly asks for their existence via respondsToSelector: then I would definitely set the Deployment Target to 3.1 in order to get a bigger user base. But your Base SDK should be set to 4.1

AFAIK there's going to be a Use newest SDK option for Base SDK in the upcoming Xcode 4 so you don't have to worry about that switch any more when upgrading Xcode/iOS-SDK.

DarkDust
  • 90,870
  • 19
  • 190
  • 224