Если вы установите для своего Target SDk в Xcode значение 3.1.3, возможно, вы используете функции SDK, которых нет на iPhone с более низкой ОС. Тем не менее, вы можете проверить эти функции в вашей программе и принять альтернативные меры, если у пользователя нет этих функций / структур. Ничто не помешает вашему приложению работать на более старых ОС iPhone, кроме того факта, что использование новых функций приведет к сбою приложения.
С другой стороны, вы используете значение Deployment SDk XCode, чтобы ограничить, какие операционные системы iPhone могут на самом деле запускать ваше приложение. Таким образом, вы можете ограничить доступ к приложению только для iPhone с более поздней ОС, но не с более ранними. Apple iTunes App Store будет использовать значение Deployment SDk, чтобы сообщить пользователю, который покупает, минимальные системные требования.