iPhone app backward compatibility

When you compile your iOS app against the latest SDK, the app also remains compatible against that version and above. Eg. If you compile your app using iOS SDK 4.2 then it will work on firmware version 4.2 and above (4.3 etc). To make your app backwards compatible:

In target settings there is "iPhone OS Deployment Target" setting -
set it to appropriate OS version so your program will be compatible with it.

Remember also that if you make some calls from new APIs (e.g.
appeared in 4.0) you must check if they are available in run-time to
avoid application crashes when run on older OS versions.

via stackoverflow.com