Есть ли способ установить более старые SDK для iOS в Xcode?

Я хотел бы обеспечить некоторую обратную совместимость для своих приложений, скомпилировав их с помощью старых SDK для тестирования новых классов и методов. Однако Xcode доступен только с SDK для последних версий iOS.

Я загрузил и установил iOS 3.1.3 SDK (с помощью описанного здесь метода), и это отлично работает. Мой код заполнен (не так полный:-)) из __IPHONE_OS_VERSION_MAX_ALLOWED, __IPHONE_OS_VERSION_MIN_REQUIRED и такой отвечает на запрос.

Это работает прямо сейчас для iOS 3.1.3 SDK, но что, если в будущем я захочу повторить этот процесс с помощью SDK 4.0? Существует ли общий процесс установки старых версий SDK в последнем Xcode?

Ответ 1

Вы не можете установить старые SDK SD на Xcode 4. Вы можете установить нижнюю границу развертывания, чтобы разрешить тестирование на устройствах с более старыми версиями ОС, чем текущая установка SDK. Единственный способ полностью обеспечить обратную совместимость при работе с более поздними версиями Xcode - сохранить устройство, на котором выполняется iOS 3.x, и протестировать его на этом устройстве. (... потому что утверждается, что старые симуляторы/инструменты иногда фактически позволяют API, которые не будут работать на реальном устройстве с ОС той же версии).

Другие методы включают установку различных версий инструментов для разработчиков iOS в отдельных каталогах Developer_XYZ и сохранение загрузочного HD файла с помощью старой установки инструмента для разработчиков iOS (скажем, Snow Leopard с Xcode 3.x, поскольку Lion может поддерживать только поддержку Xcode 4.x).

Ответ 2

По какой-либо причине (я должен был сделать это, чтобы отладить ошибку Apple), если вам все еще нужно установить старый SDK на существующий Xcode, выполните следующие действия:

  • Установите старый пакет Xcode
  • Скопируйте старый SDK Xcode на новый Xcode пример (/old/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS5.1.sdk to/new/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs)
  • Перезапустите свой новый Xcode
  • Вы увидите старый SDK в опции установки сборки (base sdk)