Подтвердить что ты не робот

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

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

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

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

4b9b3361

Ответ 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, и вы увидите последнюю доступную версию.

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

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