it-roy-ru.com

Добавление старых iOS SDK в Xcode 4.1 в Lion

Я только что установил Lion и Xcode 4.1. Как добавить более старые SDK, чтобы я мог собрать и запустить их в 4.1 или 4.2 в iPhone/iPad Simulator? Xcode 4.1 поставляется только с iOS 4.3 SDK. 

Есть ли у Lion какой-то минимальный SDK для сборок?

Спасибо,

20
Rafeed C.

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

  1. Получите более старую версию Xcode с более старым SDK. Apple iOS Dev Center в настоящее время перечисляет 4.3 SDK с загрузкой Xcode 3.2.6.

  2. Смонтируйте dmg и откройте папку Packages, скрытую внутри dmg через терминал:

    open/Volumes/Xcode\and\iOS\SDK/Packages /

  3. Дважды щелкните файл pkg для нужной версии SDK. Я искал iPhoneSDK4_3.pkg, но, в дополнение к 4.3, нашел такие старые пакеты, как iPhoneSDK3_0.pkg. Так что, возможно, старые SDK все еще могут быть упакованы с загрузкой из App Store, если вы знаете, где их найти (я не знал).

  4. Разрешите установить его в своей собственной папке, так как вы не сможете принудительно установить его в Applications/Xcode.app/Contents/Developer (где сейчас находится папка Developer).

  5. Вы найдете пакет, установленный в папке «Платформы» на выбранном вами томе. Переместите соответствующий SDK в папку для разработчиков в Xcode.app. Вам, вероятно, придется использовать Sudo:

    Sudo mv /Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS4.3.sdk /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/

  6. Перезапустите Xcode, и вы должны увидеть новый (старый) SDK, указанный в ваших опциях для Base SDK. Ура!

Дополнение от 12.09.2013.

Если «старый SDK», который вы пытаетесь добавить, поставляется в комплекте с Xcode 4.3 или более поздней версией, добавить SDK так же просто, как загрузить Xcode из центральной ссылки разработчика, которая гласит «Ищете старую версию Xcode?» (в данный момент указывает здесь ), монтирует DMG, затем копирует соответствующие файлы.

В терминале вы должны сделать что-то вроде этого (отредактируйте соответствующий номер версии SDK):

cp -R /Volumes/Xcode/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS6.1.sdk /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/

Для SDK от версий Xcode до 4.3 более старые шаги все еще актуальны.

Я обнаружил, что это работает для того, чтобы заставить Xcode 5 GM компилировать сборки, которые переносят старый пользовательский интерфейс iOS 6 даже при развертывании на устройствах iOS 7. Полезно для исправления ошибок в ожидании редизайна пользовательского интерфейса. Тем не менее, должен быть более простой способ получить пользовательский интерфейс iOS 6 на устройстве iOS 7.

27
nioq

Ты не можешь Однако вы можете нажать на запись верхнего уровня в File Navigator. Это приведет вас к настройкам приложения. Перейдите на вкладку «Настройки сборки» и измените цель развертывания iOS на любую версию iOS, с которой вы хотите поддерживать (самую раннюю версию, которую вы поддерживаете).

См. «Редактирование настроек сборки…»: http://developer.Apple.com/library/ios/documentation/ToolsLanguages/Conceptual/Xcode4UserGuide/Building/Building.html#//Apple_ref/doc/uid/TP40010215- CH9-SW5

8
FeifanZ

Откройте Xcode и откройте Настройки (Xcode -> Меню настроек). Нажмите на значок «Загрузки» и найдите вкладку «Компоненты». Все версии от 3.0 до 5.1 должны быть доступны. Просто нажмите Установить для тех, кого вы хотите использовать.

8
2cupsOfTech

Ни один из этих ответов не работал для меня для Mac OS 10.8 и XCode 4.5. Но теперь, когда все установлено в папке «Приложения», управлять им стало намного проще.

Вариант № 1: Хранить старую копию XCode легко, переименовав ее перед установкой новой. Затем вы можете использовать Product-> Preform Action-> Run Without Building на новой версии для тестирования на новых устройствах или новых симуляторах. 

Вариант № 2: Если вы ДЕЙСТВИТЕЛЬНО хотите собрать более старые SDK в новом XCode, то вы можете просто скопировать SDK с помощью Finder. Для этого вам понадобится установить более старую версию XCode в разделе «Приложения». В следующем примере я просто переименовал XCode 4.4 в XCode_old, прежде чем установить XCode 4.5. Примечание. Вы можете щелкнуть правой кнопкой мыши файл .app и выбрать «Показать содержимое», чтобы получить доступ к этим файлам, или просто использовать cp из окна терминала.

from: /Applications/Xcode_old.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS5.1.sdk
to:   /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/

Затем iOS 5.1 будет отображаться в настройках сборки как Bask SDK. Вы можете сделать то же самое для симуляторов:

from: /Applications/Xcode_old.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator5.1.sdk
to:   /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/
6
Brainware

Вы не можете, но он прекрасно подойдет для устройства, подключенного к старой версии iOS (на котором вы должны проводить правильное тестирование).

1
jrtc27

Вы должны запустить свое приложение в более старой версии XCode, которая пришла вместе с более старой версией iOS. У меня 3.2.5 установлен под /Developer-3.2.5/. Я должен сказать, что это примерно в 10 раз быстрее, чем Xcode 4 ... Вы можете скачать старые версии здесь: http://iphonesdkdev.blogspot.com/2010/04/old-versions-of-iphone-sdk.html

1
Aram Kocharyan

В дополнение к ответу Стивена вы можете найти более старые версии XCode, включая более старые SDK:

Ищете старую версию XCode?

0
Pega88

У меня была похожая проблема в Xcode 4.02 для Snow Leopard с использованием SDK 4.3. Я хотел протестировать iPhone 3G, но iOS4.2 является последней (и правильной версией) для этого устройства. Чтобы «увидеть» и запустить на этом устройстве в схеме, мне пришлось изменить настройки сборки для цели развертывания iOS, как описано выше. (кстати, у вас также должны быть ограничения на iPhone, чтобы Xcode мог установить приложение :))

0
user899007