iPhone Simulator 3.x не отображается после обновления до XCode 3.2.3 Beta4 с ОС 4.0 - PullRequest
19 голосов
/ 29 мая 2010

Когда я последний раз устанавливал Xcode 3.2.3 Beta 2 (поддержка OS 4.0), на нем были все устройства и устройства iPhone 3.x.

Теперь, обновленный до Xcode 3.2.3 Beta 4 (поддержка OS 4.0), он больше не перечисляет 3.x SDK для симулятора или устройства в XCode. Когда я запускаю приложение, написанное для 3.1.2, текущий SDK отображается как «отсутствует базовый SDK»

Я знаю, что 3.2.3 изменяет BASE SDK на 4.0, но почему ни одно из устройств 3.x не доступно?

Когда я иду к:

/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs

Доступны только два файла:

iPhoneSimulator3.2.sdk
iPhoneSimulator4.0.sdk

Однако, когда я иду к:

/Developer/Platforms/iPhoneOS.platform/DeviceSupport

3.0
3.0.1
3.1
3.1.1
3.1.2
3.1.3
3.2
4.0 (8A274b)

Я попытался переустановить самый последний XCode DMG, но безрезультатно.

Ответы [ 8 ]

8 голосов
/ 11 июня 2010

Вы должны прочитать: http://www.clarkcox.com/blog/2009/06/23/sdks-and-deployment-targets/ Это очень хорошо объясняет разницу между базовым SDK и целью развертывания - короче говоря, базовый SDK - это самая высокая версия SDK, которую вы ожидаете поддерживать, тогда как цель развертывания низшая версия, которую вы будете поддерживать. Вы должны убедиться, что оба они выбраны правильно, и что ваш код будет правильно поддерживать функциональность этих SDK.

7 голосов
/ 10 июня 2010

Да, я тоже немного покачивал головой об этом. Оказывается, вам нужно изменить настройки вашего проекта (щелкните правой кнопкой мыши проект> «Получить информацию») здесь:

Настройки проекта XCode http://img.skitch.com/20100609-fk9aq46eyibf4ceftr6famdbt9.png

Вероятно, он скажет «3.1 (отсутствует)», поскольку они удалили его из XCode 3.2.3. Измените его на 3.2 или 4.0, и вы должны снова заработать.

7 голосов
/ 29 мая 2010

Кажется, они их удалили.

Если вы разрабатываете для более старой ОС, вы не должны использовать 4.0 Beta SDK.

Согласно примечаниям к выпуску:

iPhone OS 4 beta 4 для разработки только для целей. Это программное обеспечение должно быть установленным только на устройствах исключительно для iPhone OS 4 бета разработка приложения. Не делайте установите это программное обеспечение, если вы этого не сделаете иметь устройство, предназначенное исключительно для бета-версия iPhone OS 4 развитие.

Я бы порекомендовал вам установить 3.x SDK параллельно с 4.0. Я держу две директории разработчика на моей машине / Developer для поддержки приложений, написанных для 3.0 и 3.1, и /Developer4.0Beta для миграции приложений на 4.0 и пробую новые функции, которые скоро будут доступны.

Вариант установки в другую папку немного сложен при установке sdk, но хитрость заключается в том, чтобы нажимать стрелки вверх / вниз по каталогу по умолчанию на шаге «Тип установки». После нажатия на них, вы сможете выбрать другой каталог.

alt text

Помните, что это приложение не разрешает вам отправлять приложение, созданное с помощью бета-версии SDK, поэтому я буду использовать только бета-версию 4.0 для создания приложений 4.0, имея в виду, что API все еще могут измениться до того, как GM освобожден.

1 голос
/ 01 июля 2010

Это для тех из нас, кто видит цель развертывания MacOSX, только когда мы меняем версию Base SDK на уровне проекта. Я обнаружил, что если я только установил базовый SDK на iPhone OS 4.0 на уровне проекта, я не получил опцию iPhone OS Deployment Target. Если я установлю BaseSDK и iPhone OS Deployment Target на целевом уровне (который появился сразу после изменения SDK), я смогу вернуться к проекту и увидеть настройку iPhone OS Deployment Target.

Возможно, стоит попробовать перед тем, как идти по пути грубой силы.

Привет.

1 голос
/ 14 июня 2010

Изменение цели развертывания iPhone OS устраняет эту проблему, так же как nicktmro, упомянутый выше.

Я использую новый os4.0 на своем iphone и новый 4.0sdk. Мне пришлось установить свой BAse SDK как 4.0, но затем в «Get Info> Build» прокрутите вниз до раздела «Deployment». Последняя опция должна указывать iPhone OS Deployment Target.

Вы можете выбрать весь путь обратно к ОС 1.0

0 голосов
/ 28 июня 2010

Если Цель развертывания iPhone OS полностью отсутствует в разделе Развертывание, и вы просматриваете Все настройки для Все конфигурации , вам может понадобиться грубая сила вещей.

В моем случае я закрыл проект в Xcode, затем открыл (рабочий) пакет проекта xcodeproj. Для тех, кто не в курсе, просто щелкните правой кнопкой мыши xcodeproj «файл» и выберите Показать содержимое пакета (xcodeproj на самом деле является каталогом). После резервного копирования project.pbxproj в целях безопасности посмотрите под buildSettings каждого XCBuildConfiguration и убедитесь, что появляются следующие две строки:

IPHONEOS_DEPLOYMENT_TARGET = 3.0;
SDKROOT = iphoneos4.0;

Это будет предназначаться для Базового SDK как iOS 4.0 (устройство, НЕ симулятор), но установить целевой показатель развертывания как минимум iOS 3.0. Он даже правильно отображается в Xcode после повторного открытия проекта. Проблема решена!

0 голосов
/ 25 июня 2010

Чтобы отобразить iPhone OS Deployment Target, щелкните правой кнопкой мыши проект и выберите «Информация».В раскрывающемся списке «Показать» выберите «Все настройки», в нижней части раздела «Развертывание» находится цель развертывания iPhone.

0 голосов
/ 13 июня 2010

Несмотря на то, что 3.x отсутствует в списке, вы все равно можете указать его в качестве цели в разделе iPhone OS Deployment Target.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...