Загрузки XCode, доступные с http://developer.apple.com/downloads, содержат пакеты, начиная с версии 4.0. Я недавно столкнулся с этой же проблемой и смог определить, что:
- Начиная с версии 4.1 (возможно, раньше - все еще ожидая загрузки для XCode 3.2.3 и SDK 4.0.1), пакеты содержат подпакеты, названные совершенно одинаково
- Несмотря на внутреннее имя пакета, похоже, что актуальный iOS SDK будет включен для версии, упомянутой в основном файле DMG. Например, xcode_3.2.5_and_ios_sdk_4.2_final.dmg может содержать пакеты SDK для нескольких версий, но iOS SDK полностью включен только для 4.2.
- Мне удалось заполучить 4.1, 4.2 и 4.3, загрузив установщики DMG XCode, просмотрев содержимое пакета и запустив соответствующий установщик iPhoneSDK4_X.pkg.
- После установки мне пришлось скопировать материал, который он уронил из /Platforms/iPhoneOS.platform/, в новое место по адресу /Developer/Platforms/iPhoneOS.platform.
- В дополнение к SDK для iPhoneOS я также позаботился о том, чтобы на платформе iPhoneSimulator.platform был этот материал. Мне кажется, что XCode отвечает за установку большинства устройств для поддержки отладки.
Надеюсь, это поможет! Сложно было понять, что имена пакетов могут быть одинаковыми, но содержимое может отличаться. Кажется, что каждая загрузка включает только один полный SDK.
Как только я это сделал, я смог изменить свой базовый SDK в XCode и выполнить сборку с целевым SDK.
Ура!
PS: Как только вы добавите дополнительные SDK, вы, скорее всего, увидите, что в списке ваших схем появятся дополнительные пункты назначения с одинаковыми именами устройств для физических устройств. Это сводило меня с ума, поскольку каждый из них связан с одним из SDK, но версия SDK не указана в списке. Неплохо, когда вы выясните, какой именно (обычно это признак неудачной сборки), поскольку он нацелен на другой SDK, в зависимости от того, какое физическое устройство выбрано. Больше информации на этот пост: дублирующая схема устройства в xcode 4