Поддержка iOS 3.x в Xcode 4 - PullRequest
12 голосов
/ 20 мая 2011

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

Ответы [ 4 ]

22 голосов
/ 07 января 2012

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

  1. Нажмите на название своего проекта, выберите цель и в разделе «Настройки сборки»

    a) Установите для «цели разработки iOS» (в разделе «Развертывание») значение 3,0

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

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

  2. В вашем файле Info.plist удалите значение «armv7» из «Требуемые возможности устройства» (UIRequiredDeviceCapabilities).

  3. В вашем коде:

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

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

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

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

enter image description here

4 голосов
/ 20 мая 2011

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

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

2 голосов
/ 20 мая 2011

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

1 голос
/ 20 мая 2011

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

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

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