Base SDK & iOS Dev Target?
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 开发者_C百科features you want. "iPhone OS Deployment Target" is the oldest version number of iOS that you will support
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.
精彩评论