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

Поддержка iOS 3.x в Xcode 4

Можно ли писать приложения, поддерживающие версии iOS 3.x, используя Xcode 4? Если да, то как? И есть ли у Apple какие-либо официальные рекомендации по обратной совместимости приложений?

4b9b3361

Ответ 1

Чтобы ваше приложение успешно запускалось на устройстве iOS 3.x, выполните следующие действия (Xcode 4.2):

  • Нажмите на название своего проекта, выберите свою цель и в разделе "Настройки сборки"

    a) Задайте "цель развития iOS" (в разделе "Развертывание" ) до версии 3.0

    б). Добавьте "armv6" в список "Архитектуры" (в разделе "Архитектуры" ). enter image description here

    c) Установите "Другие флаги компоновщика" (в разделе "Связывание" ) с "-weak-lSystem".

  • В вашем файле Info.plist удалите значение "armv7" из "Обязательные возможности устройства" (UIRequiredDeviceCapabilities).

  • В вашем коде:

    а). Не используйте userInterfaceIdiom. Если вам нужно знать, какое устройство оно (iPhone или iPad), см. Как получить UI_USER_INTERFACE_IDIOM() для работы с iPhone OS SDK < 3.2.

    b) Не используйте window.rootViewController. Вместо этого используйте [window addSubview: self.mainViewController.view];, чтобы добавить вид вашего основного контроллера в окно.

  • Нажмите на название своего проекта, выберите свою цель и в разделе "Сборка фаз" / "Связывание двоичных файлов с библиотеками" установите "UIKit.framework" в "Необязательный". Кроме того, устанавливается дополнительная опция, которая недоступна в iOS 3. Например, если вы используете рамки iAd или Twitter, они должны быть установлены как необязательные. Перед использованием убедитесь в наличии дополнительных фреймворков.

  • При запуске на реальном устройстве компилируйте приложение против последней версии SDK. Для этого выберите второй элемент из раскрывающегося списка "Схема" (в противном случае вы получите ошибку компиляции, связанную с вашими дополнительными SDK):

enter image description here

Ответ 2

Да, вы можете разрабатывать приложения, поддерживающие предыдущие версии iOS с текущим SDK для iOS.

Официальные рекомендации см. в руководстве Apple Руководство по совместимости SDK.

Ответ 3

Версия Xcode, которую вы используете, не связана с версией iOS, которую может поддерживать ваше приложение. Чтобы выбрать версию iOS, поддерживаемую вашим приложением, просто измените цель развертывания iOS в настройках вашего проекта. Тогда просто не забудьте использовать какие-либо API-интерфейсы из версий позже.

Ответ 4

конечно, вы можете использовать Xcode 4 для ориентации iOS 3.x в качестве цели развертывания, но вы не сможете имитировать свою программу на симуляторе iOS 3.x SDK. Таким образом, вы сами по себе (т.е. Если вы используете любую функцию iOS 4.x, вы не узнаете ее до тех пор, пока не проведете тестирование на физическом устройстве).

Вам нужна старая версия Xcode для отладки от старого симулированного SDK.