Старый SDK исчез после установки новой версии XCode - PullRequest
12 голосов
/ 08 июня 2010

Почему старые SDK удаляются при установке новой версии xcode с новым Iphone SDK?Теперь у нас есть v4, какие настройки мне нужно сделать, чтобы приложения все еще работали с 3.x?

Спасибо

Ответы [ 5 ]

7 голосов
/ 25 июня 2011

Хотя «Зоул» наиболее кратко ответил на вопрос, я попытаюсь более подробно остановиться на двух настройках и указать на некоторые полезные документы, которые помогут другим новичкам в этой ситуации.

  1. Базовая версия SDK: указывает версию SDK, на основе которой была скомпилирована программа.Это можно установить в «Настройках сборки» для проекта или цели.Вы можете использовать код API от Apple в своем коде, введенном до этой версии, и компилятор будет знать все символы и компилировать без каких-либо проблем.

  2. Цель развертывания: это объявление от вашегосторона о минимальной версии iOS, которая должна быть установлена ​​на устройстве пользователя для запуска вашего кода.Этот параметр можно найти в разделе «Информация» для проекта и в разделе «Сводка» для конкретной цели.Теперь важно понять, что ваш код не будет автоматически работать на устройствах со старыми версиями iOS, если вы используете код API, представленный в более поздней версии Apple.Это могут быть новые классы / методы / инфраструктуры, представленные Apple в более поздней версии.Вы должны убедиться, написав необходимый условный код и предоставив альтернативный путь к коду, который постепенно изменится для более старой версии iOS, которая не имеет более нового API.Вы должны решить проблему несовместимости версий.

Документацию Apple по этому вопросу можно найти в " Руководстве по совместимости SDK ".

Чтобы узнать об изменениях в различных версиях iOS, обратитесь к разделу " Что нового в iOS ".

Эта тема также обсуждается в " Руководстве по разработке iOS * " в разделе "Сборка и запуск приложения ".См. Подраздел «Указание среды выполнения».

7 голосов
/ 08 июня 2010

Установите для базового SDK значение 4.0, а для цели развертывания - 3.x. Или, в современных условиях, Base SDK to Latest и Deployment Target на все, что вам нужно.

3 голосов
/ 03 апреля 2012

Если у вас все еще есть проблема после того, как вы установили целевой показатель развертывания, по крайней мере, ниже требуемого SDK, вам нужно загрузить этот SDK.К счастью, Xcode помогает нам и здесь:

  • позаботьтесь о селекторе симуляторов в левом верхнем углу вашего Xcode и выберите «Больше симуляторов».Откроется страница, подобная приведенной ниже:

Download SDK view

  • , просто выберите SDK, с которым нужно протестировать приложение.
3 голосов
/ 11 июля 2010

Если у вас есть резервные копии вашей системы из чего-то вроде Time Machine (и вам лучше!), Вы можете скопировать старые SDK из резервной копии, расположенной в /Developer/Platforms/iPhoneOS.platform/Developer/SDKs и / Developer / Platforms / iPhoneSimulator.platform / Developer / SDKs - просто перезапустите XCode и все готово.

1 голос
/ 11 июня 2010

3.2.3. Последняя бета-версия удалила все остальные SDK, так как многие пытались опубликовать Приложения, разработанные с помощью бета-версии SDK, которые не будут приняты. Я думаю, что GM делает все то же самое

Если вы хотите разрабатывать для 4.0,3.2 и 3.0 (плюс 3.0,3.1,3.1.2,3.1.3) сделайте следующее

  • sudo / Developer / Library / uninstall-devtools –mode = all (Это приведет к удалению текущей установки XCode)
  • Затем установите первый старый XCode (3.2 final) в папку по умолчанию (/ Developer)
  • Затем установите новый XCode (3.2.3 GM) в другую папку (/ DeveloperBeta)
  • Таким образом, вы будете иметь оба. И может запустить xcode из /Developer/Applications/Xcode.app или /DeveloperBeta/Applications/Xcode.app
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...