Your project is built against the current SDK. If you have an older deployment target, then your code base has been compiled against this. Therefore, if you create against 7.0, but have a 6.0 deployment target, iOS 7 will not initiate certain deviations. Everything will be compiled against the oldest deployment target.
However, this will put pressure on you as a developer to make sure that you are not using special iOS 7 code. The compiler still assumes that you mean to allow newer users to run your application, as well as all the latest methods available to you and your users the latest version. You can either check your code base on the old SDK for older devices, or on Simulators to make sure it works well, or use an application like Deploymate that will check the methods you use that may cause problems.
If you plan to use any of the latter methods, you will need to verify them in an if compiler expression (for example, Peter Fidemraizer) or in normal cases if there are statements checking the version within Foundation.
if (floor(NSFoundationVersionNumber) <= NSFoundationVersionNumber_iOS_6_1) { // Load resources for iOS 6.1 or earlier } else { // Load resources for iOS 7 or later }
source share