Установите Xcode 3.2.4, получите "Base SDK Missing"

Когда вы обновляете Xcode до 3.2.4, ваш ранее работающий проект Xcode iOS дает вам сообщение "Base SDK Missing". Что-то вроде этого:

Ру-ро! http://www.freeimagehosting.net/uploads/6acdbd9820.png

Что дает? Как исправить?

Ответ 1

Проблема

В этой версии отсутствует iOS SDK 4.0, замененный iOS SDK 4.1. Подробности в "Объяснении" ниже. (NB: это повторяет некоторую информацию в моем предыдущем Q/A относительно 3.2.3).

Исправление

Чтобы устранить эту конкретную проблему, вам необходимо reset базовый SDK для ваших целей и т.д. Вы можете либо сделать это для всего проекта (большинство людей), либо для каждой цели и/или конфигурации, которая применяется. Редко, вам, возможно, придется обойти оба.

Изменить настройки проекта

  • Загрузите проект
  • В меню выберите "Проект" > "Изменить настройки проекта".
  • Перейдите на вкладку "Создать".
  • В разделе "Конфигурации" выберите "Все конфигурации".
  • Перейдите в раздел Изменить базовый SDK ниже.

Изменить конкретные настройки цели/конфигурации

  • Загрузите проект
  • В меню выберите "Проект" > "Активный объект" > "YourTarget"
  • В меню выберите "Проект" > "Изменить активный объект" "YourTarget"
  • Перейдите на вкладку "Создать".
  • В разделе "Конфигурации" выберите "Все конфигурации" или требуемую конфигурацию.
  • Перейдите в раздел Изменить базовый SDK ниже.

Изменить базовый SDK

  • В разделе Архитектурa > Базовый SDK выберите одно из доступных устройств опции: iOS Device 3.2 или iOS Device 4.1. Если вы только для iPhone, 4.1 - это путь.
  • Если вы хотите настроить таргетинг на предыдущие версии iOS, то в том же в разделе "Развертывание" > "Назначение развертывания iPhone для iPhone" выберите самую низкую версию, которую вы хотите поддержать. Обратите внимание, что поддержка версий 2.x через магазин приложений устарел.

Объяснение

В этой версии отсутствует iOS SDK 4.0, замененный iOS SDK 4.1. Это очень похоже на то, что произошло с обновлением 3.2.3, которое я подробно рассмотрел здесь. Вы все равно можете использовать 3.2.4 для таргетинга версий iOS до 3.0, но AFAIK, вы должны скомпилировать с 4.1 SDK с Xcode 3.2.4. Если это выражение смущает вас, внимательно изучите следующее предложение:

IOS SDK, который вы компилируете, - "Base SDK" - не ограничивает ни одного варианта версий iOS, которые вы можете поддерживать.

Фактически, есть две разные настройки, ср. Изменить базовый SDK выше. Если вы остаетесь в замешательстве, задумайтесь и прочитайте мой подробный отчет о предыдущем переключении, которое само по себе является чокаблоком со ссылками на хорошие вещи.

Ответ 2

Я столкнулся с теми же проблемами для 3.2.5 и выполнил те же инструкции. Это не сработало для меня, но я заметил, что новые проекты будут работать должным образом. Когда я grepped ShareKit.xcodeproj/project.pbxproj, я заметил, что в файле для SDKROOT еще были измененные ссылки на iphoneos4.0, даже после его изменения в xcode. Вручную редактирование этого файла и изменение всех ссылок SDKROOT на iphoneos устранили проблему. Надежда, которая помогает кому-то.

Ответ 3

Для всех более старых проектов выберите главное окно, выберите Option-Cmd-E, выберите сборку и "последние версии ios...".

Закройте окно сборки.

В главном окне выберите вариант выпадающего списка для базового SDK, и вы увидите последнюю доступную версию.

Это все еще лаваш, но это проще, чем навигацию, закрытие окон и т.д.

Если кто-то знает лучший метод, я был бы рад услышать его...