Поддержка iOS 6
Если бизнес-причины требуют, чтобы Вы продолжали поддерживать iOS 6 или ранее, необходимо выбрать самый практический способ обновить приложение для iOS 7. Методы, которые Вы выбираете, могут отличаться, но полное уведомление остается тем же: Во-первых, внимание на перепроектирование приложения для iOS 7. Тогда — если модернизация включает навигационные или структурные изменения — вносят эти изменения в версию iOS 6 как надлежащие (не модернизируйте версию iOS 6 приложения для использования iOS 7 элементов дизайна, таких как полупрозрачные панели или безграничные кнопки панели).
Используя интерфейсного разработчика для поддержки многократных версий приложения
Взаимодействуйте через интерфейс Разработчик в Xcode 5 включает новые функции, помогающие Вам перейти приложение к iOS 7, продолжая поддерживать более ранние версии.
Получите предварительный просмотр того, как обновления UI Вы делаете влияние более ранней версией. Используя заместителя редактора, можно внести изменения в раскадровку iOS 7 или файл XIB на холсте и одновременно видеть, как те изменения смотрят в версии iOS 6 файла.
Выполните эти шаги для предварительного просмотра более ранней раскадровки или файла XIB:
При просмотре раскадровки iOS 7 или файла XIB на холсте, откройте заместителя редактора.
Откройте всплывающее меню Ассистента. (Всплывающее меню Ассистента является первым элементом направо от спины и прямых стрелок в панели перехода заместителя редактора.)
В меню прокрутите к элементу Предварительного просмотра и выберите раскадровку или файл XIB.
Переключите между просмотром приложения UI в iOS 7 и iOS 6.1 или ранее. Если Ваше приложение должно поддерживать iOS 6.1 или ранее, используйте эту функцию для проверки взглядов UI, корректных во всех версиях приложения.
Выполните эти шаги для переключения между двумя версиями UI:
Откройте инспектора Файла в Интерфейсном Разработчике.
Откройте меню «View as».
Выберите версию UI, который Вы хотите просмотреть.
Для получения дополнительной информации о новых функциях Interface Builder в Xcode 5, посмотрите Новые функции и возможности в XCode.
Поддержка двух версий стандартного приложения
Если обе версии стандартного приложения должны иметь подобное расположение, используйте Автоматическое Расположение для создания UI, работающего правильно в обеих версиях iOS. Для поддержки многократных версий iOS укажите единственный набор ограничений, которые Автоматическое Расположение может использовать для корректировки представлений и средств управления в раскадровке или файлах XIB (для узнавания больше об ограничениях, посмотрите Ограничительные Явно выраженные Отношения Между Представлениями).
Если обе версии стандартного приложения должны иметь подобное расположение, и Вы не используете Автоматическое Расположение, используете смещения. Для использования смещений сначала обновите UI для iOS 7. Затем, используйте заместителя редактора для получения предварительного просмотра того, как изменения влияют на более раннюю версию (для открытия предварительного просмотра, выберите элемент Предварительного просмотра во всплывающем меню Ассистента, как описано в Использовании Интерфейсного Разработчика для Поддержки Многократных Версий приложения). Затем укажите значения, определяющие источник, высоту и ширину каждого элемента в более раннем UI как смещения от новой позиции элемента в iOS 7 UI. Например, y позиция текстового представления, показанного ниже, должна была бы измениться на 18 точек в более ранней версии UI для размещения большей высоты сегментированного управления iOS 6.
Для узнавания больше об Автоматическом Расположении посмотрите Автоматическое Руководство по Расположению.
Управление повторными изображениями в гибридном приложении
Гибридные приложения часто включают активы пользовательского изображения, такие как значки кнопки панели, и фоновые представления для панелей или другие средства управления. Приложения могут использовать один или несколько каталогов актива для управления этими ресурсами. (Для узнавания больше о каталогах актива посмотрите Справку Каталога Актива.)
В гибридном приложении, которое должно поддерживать многократные версии iOS, Вы управляете изображениями сами. Изображения, отличающиеся в зависимости от версии приложения, должны иметь уникальные имена; иначе, можно использовать то же изображение в обеих версиях.
Если Ваша раскадровка или файл XIB содержат встроенное изображение, рассмотрите создание выхода к представлению изображения и загрузке надлежащего ресурса по мере необходимости. Чтобы изучить, как загрузить различные активы в коде, посмотрите Загружающиеся Ресурсы Условно.
Загрузка ресурсов условно
В некоторых случаях необходимо определить версию iOS, которую приложение в настоящее время выполняет в том, таким образом, можно реагировать на различия в версии соответственно в коде. Например, если различные версии приложения используют существенно отличающиеся разметки, можно загрузить различную раскадровку или файлы XIB для каждой версии. Вы, возможно, также должны использовать различные пути выполнения кода для обработки различий API, такого использования barTintColor
вместо tintColor
окрашивать фон панели.
Если необходимо загрузить различные ресурсы для различных версий приложения — и Вы в настоящее время идентифицируете раскадровку или файл XIB в Вашем Info.plist
файл — можно использовать версию платформы Основы, чтобы определить версию существующей системы и загрузить надлежащий ресурс в application:didFinishLaunchingWithOptions:
. Код ниже шоу, как проверить версию платформы Основы:
if (floor(NSFoundationVersionNumber) <= NSFoundationVersionNumber_iOS_6_1) {
// Load resources for iOS 6.1 or earlier
} else {
// Load resources for iOS 7 or later
}