Обзор основанной на SDK разработки
Apple делает SDKs доступный для определенных версий iOS и OS X. Используя эти SDKs позволяет Вам создавать против заголовков и библиотек версии операционной системы кроме той, на которой Вы работаете. Например, можно создать для версии 10.4 OS X при работе версии 10.6 OS X.
OS X SDKs установлен как часть пакета установки Основ XCode с Xcode 3.2 и позже. Информация о версии XCode перечисляет SDKs, поддерживаемый каждым выпуском. При разработке для iOS Вы всегда используете SDK, загруженный с iOS веб-сайт Центра Dev.
Используйте в своих интересах основанную на SDK разработку этими способами:
Вы можете создать цель, оптимизированную для одной версии операционной системы и прямо совместимую с более поздними версиями, но не пользуетесь определенным преимуществом более новых функций.
Можно создать цель для диапазона версий операционной системы, так, чтобы это могло запуститься в более старых версиях, но могло использовать в своих интересах функции в более новых. Это позволяет Вам поставлять программное обеспечение, предоставляющее новое значение клиентам, обновившим до новой версии системы, но все еще работает за теми, кто не имеет.
Для разработки программного обеспечения, которое может быть развернуто на и использовать в своих интересах функции от, различные версии iOS или OS X, Вы указываете который версия — или SDK — iOS или заголовков OS X и библиотек для создания с. Можно также указать самый старый iOS или версию системы OS X, на которой будет работать программное обеспечение. Эти понятия описаны в Основе SDK и Развертывание Настройки Target.
Выбор поведения в платформах
Поскольку платформы развиваются посредством различных выпусков, APIs представлен или осужден, и способы поведения существующего APIs могут иногда изменяться. Apple прилагает все усилия для минимизации изменений, которые могут вызвать несовместимости, в некоторых случаях обеспечив альтернативные способы поведения на основе версии платформы. В редких случаях Ваш код должен определить версию платформы и корректироваться соответственно.
Как механизм прежней совместимости, платформы Apple иногда проверяют на версию SDK, приложение создается против, и, если это - более старый SDK, измените поведение для совместимости. Это сделано в случаях, где Apple предсказывает или обнаруживает проблемы совместимости.
Как правило, платформы обнаруживают, как приложение создается путем рассмотрения версии системных платформ, против которых соединяется приложение. Таким образом, при пересоединении приложения с помощью более нового SDK, Вы могли бы заметить различные способы поведения — некоторые из которых могли бы вызвать несовместимости. В этих случаях, потому что Ваше приложение восстанавливается, необходимо решить эти проблемы одновременно. Поэтому при выполнении маленького обновления приложения, для обращения нескольких ошибок, например, обычно лучше продолжать создавать с той же средой сборки и библиотеками, пользовавшимися первоначально; т.е. против исходного SDK.
В некоторых случаях платформы обеспечивают значения по умолчанию (предпочтения) настройки, которые можно использовать для получения старого или нового поведения, независимого от SDK, против которого создается приложение. Часто эти предпочтения предоставлены для отладки целей только; в некоторых случаях предпочтения могут использоваться глобально для изменения поведения приложения путем регистрации значений. При использовании в своих интересах этого механизма сделайте это очень рано в коде, с помощью NSUserDefaults
метод registerDefaults:
).