Установите xCode 3.2.3 с iPhone SDK 4, получите «Base SDK missing», не увидите другие SDK




ios4 (3)

обзор

Я собираюсь объяснить, почему это происходит, а затем как исправить конкретную проблему «Base SDK Missing». Вы можете пропустить снизу только для исправления, хотя я рекомендую прочитать все это. Я также рекомендую отличное решение Джона Мухоу по этой проблеме.

Если вы особенно заинтересованы в обновлении Xcode 3.2.4, которое имеет сильно связанную проблему, вы можете here посоветоваться.

Один SDK, чтобы управлять ими всеми

Вот сделка: 4.0 теперь единственная версия SDK, разрешенная для отправки новых или обновленных приложений для iPhone. Это прямо из контрольного списка готовности iOS 4 от Apple (reg reqd):

Все новые приложения и обновления для существующих приложений должны быть построены с помощью iPhone SDK 4. Обратите внимание, что App Store больше не будет поддерживать приложения, ориентированные на iOS 2.x.

Предположительно - я угадываю здесь - iPad-only и универсальные приложения должны использовать SDK 3.2. Вот почему 4.0 и 3.2 - ваш единственный выбор для SDK.

Вот почему ваш проект теперь сломан, так как ранее он был сопоставлен с SDK, он устарел , gones-ville.

(Но) 3 - магическое число

Расслабьтесь. Вы все же можете настроить таргетинг на устройства под управлением ОС OS 3.0 (но не ниже). SDK, который вы используете для компиляции , не ограничивает - вниз - какую версию iOS вы можете запрограммировать или поддержать. После того, как вы заработали вещи в своем проекте и т. Д. (См. Следующий раздел), вы можете установить «Цель развертывания iPhone OS» на более низкую версию iOS. Для быстрого выстрела, как это сделать, ср. шаг 7 в следующем разделе.

Обратите внимание, что вы сейчас входите в какой-то сложный ландшафт. Ваш обычный компилятор Xcode 3.2.3 больше не будет применять ваше соответствие только для вызовов с 3,0 и не имеет для них симулятора. И если вы хотите поддерживать функции 4.0, вам придется сделать некоторый условный код, чтобы предотвратить сбои на устройствах 3.0. Весело.

Вы можете загрузить (от Apple!) И установить предыдущую версию Xcode или SDK (см. here ). Да, вы можете установить несколько версий Xcode в разных каталогах, то есть поставить только одну версию в / Developer. Вы можете использовать старый Xcode для проверки соответствия вашего приложения по сравнению с SDK 3.x, переноса тяжелой работы на причудливый компилятор и симулятор. Но вы больше не можете использовать продукты предыдущих SDK для отправки в магазин приложений.

FWIW, я планирую сделать именно эту проверку перед отправкой.

Какое условие мое состояние находится в

Мэтт Галлахер имеет сообщение «Какао с любовью» в условном коде версии «Советы и рекомендации для условного кода iOS3, iOS3.2 и iOS4» . Если вы планируете условно использовать функции 4.0, это сильная рекомендация проверить это.

Исправление «Base SDK Missing»

  1. Загрузите проект
  2. В меню выберите «Проект»> «Изменить настройки проекта» ...
  3. В разделе Архитектура> Базовый SDK выберите один из доступных вариантов устройства: iPhone 3.2 или iPhone 4.0. Если вы только для iPhone, 4.0 - это путь.
  4. Закройте это окно.
  5. В меню выберите «Проект»> «Редактировать активную цель» «YourTarget»,
  6. В разделе Архитектура> Базовый SDK выберите одно из доступных вариантов устройства или симулятора: iPhone 3.2 или iPhone 4.0.
  7. Если вы хотите настроить таргетинг на предыдущие версии iOS, то в этом же окне в разделе «Развертывание»> «Установка развертывания ОС iPhone» выберите самую низкую версию, которую вы хотите поддержать. Обратите внимание, что поддержка версий 2.x через магазин приложений устарела. См. Выше цитату «Контрольный список готовности».

База SDK для Xcode 4 и выше

Выполните шаги, описанные выше, но для шага №2 нажмите следующее:

  • Выберите навигатор проекта, используя значок папки слева от боковой панели навигатора
  • Выберите проект, который будет в верхней части этого представления.
  • Конфигурация проекта появится в главной панели редактора; выберите «Настройки сборки» вверху и внизу, это раздел «Архитектура».

(Этот ответ - слегка адаптированная версия answer Шермана Ло )

добавление

Более подробную информацию по этой теме можно найти также в первом ответе на этот question . Здесь также есть полезная информация.

Я создал эту вики сообщества, чтобы связать вместе ряд других Q / A, которые я видел здесь на SO. Если вы здесь, вы, вероятно, установили окончательную версию Xcode 3.2.3 с iPhone SDK 4 ( ссылка для загрузки , reg reqd), а затем столкнулись с одной или двумя из этих проблем:

  • В вашем ранее работающем проекте xCode iPhone вы получаете где-то «Base SDK Missing». Что-то вроде этого:

  • В связанном, но более общем наблюдении, ни один из ранее доступных панелей вариантов SDK устройства или симулятора (например, 3.0, 3.1, 3.1.3, ...) не доступен там, где вы их видели.


Если вы исправите свои настройки и до сих пор видите «Base SDK Missing» и не можете создавать, перезагрузите проект. Я вышел из Xcode, но закрытие и повторное открытие, вероятно, также будут работать.


У меня была эта же проблема. У меня также возникла проблема при использовании нескольких целевых объектов, которые вернулись к предыдущему целевому xcode, забыв изменить несколько вещей, например, переход от iOS к цели MacOS.

option / alt, щелкнув вниз

показали некоторые дополнительные варианты, которые там очень полезны.







ios4