Как сделать iPhone-приложение совместимым с несколькими версиями SDK (прошивки)

С выходом iOS4 в ближайшее время я уже планировал включить iAd в будущую версию приложения. Я предполагаю, что это сделает мое приложение непригодным для всех на прошивке ниже 4.0. Есть ли способ изменить эти переменные и файл .xib на основе прошивки пользователя? Приветствия.

Ответы

Ответ 1

Да, вы можете построить с последним SDK (т.е.: 5.1) и все еще работать на устройствах с более ранними версиями прошивки (SDK).

  • Задайте цель развертывания самой ранней версией, с которой вы хотите работать, например: 3.0.
  • Вы устанавливаете базовый SDK в последнюю версию, которую вы компилируете, то есть: 5.0. Таким образом, вы можете ссылаться на новые определения и символы в вашем коде. В этой статье "SDK и цели развертывания" подробно обсуждается развертывание и базовый SDK.
  • Слабая ссылка на библиотеки/фреймворки с символами, которые доступны только в новой iOS. Это значит, что ваше приложение будет работать на устройстве, у которого нет новых символов.
  • Вы должны проверить, чтобы новый метод был доступен перед его вызовом. Вы должны удостовериться, что не вызываете метод с 5.0 или 4.X только тогда, когда ваше приложение находится на < 4.0. Конечно, вы должны грациозно работать с более старыми версиями, используя либо более старые методы, либо не поддерживая определенные функции, которые нуждаются в более новой поддержке SDK.
  • NEW w/XCode 4.2: Для поддержки старых устройств вам необходимо добавить armv6 в архитектуры сборки и удалить armv7 из plist необходимых возможностей устройства.

Смотрите эти вопросы и ответы для более подробной информации: