Как сделать приложение iOS 7 обратно совместимым?

Я провёл в интернете несколько часов, прежде чем опубликовать этот вопрос. Здесь я иду:

Я работаю над приложением. Я использовал X-Code 5. Установите цель развертывания iOS 7.

Я почти завершил пользовательский интерфейс для приложения (для iOS 7). Вчера мой руководитель группы сказал, что Клиент хочет, чтобы приложение было обратно совместимым, то есть оно должно работать и на iOS 6.1.

Так что я начал серфить в Интернете (так как мой руководитель группы тоже не знает, как именно это сделать). Я нашел несколько ссылок, но растерялся, что именно делать. Да, я прочитал пост на stackru и Google тоже.

Как мне сделать приложение iOS 6 совместимым? Нужно ли мне брать разные файлы XIB? (Это будет слишком много работы).

Одна вещь, которую я сделал, я установил Target для развертывания iOS 6.1 или новее. Приложение работает на устройстве. Интересно, что приложение работало и на iOS 7. Но на iOS 7 вид был немного искажен.

И я слышал, что если Развертывание на 6.1, вы не можете загрузить его в App Store. Более того, я установил "Развертывание" на 7.0, но потом не смог запустить его на устройстве iOS6.

Как мне разработать приложение, чтобы оно работало для iOS 6,7 и загружалось в AppStore.

Пожалуйста помоги. Я занимаюсь разработкой приложений последние 4 месяца. Я старался Му лучше всего. Я знаю, этот вопрос может показаться глупым для некоторых людей.

И я не использую раскадровки. Использую только XIB

2 ответа

Решение

Нет необходимости создавать отдельные файлы XIB для iOS6. Вам нужно установить пользовательский интерфейс для iOS7, а также iOS6.

  1. Просто откройте свою раскадровку и затем нажмите на помощника редактора.
  2. Теперь откройте предварительный просмотр раскадровки в помощнике редактора.
  3. В правом нижнем углу есть кнопка помощника редактора с надписью iOS7 или новее, нажмите на нее и выберите iOS6 или новее.
  4. Теперь вы можете видеть на экране пользовательский интерфейс для iOS7 и iOS6.
  5. Теперь выберите определенный контроллер представления и затем выберите инспектора размера.
  6. В инспекторе размеров вам просто нужно установить Deltas для iOS6 / 7 для экранов iOS6. Вот и все.

Основное отличие пользовательского интерфейса в iOS 6 и iOS 7 заключается в том, что строка состояния включена в view controller в iOS 7. Это означает, что ваш контроллер представления на 20 пикселей больше, чем iOS6. Вы должны настроить свои предметы. Создайте свои предметы в соответствии с iOS 7 и установите Δy на -20

проверьте также этот URL: https://developer.apple.com/library/IOs/documentation/UserExperience/Conceptual/TransitionGuide/SupportingEarlieriOS.html

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

Так много вопросов...:

1.До мне нужно взять разные файлы XIB?

нет

2. Однажды я установил Target iOS 6.1 или более позднюю версию для развертывания. Приложение работает на устройстве. Интересно, что приложение работало и на iOS 7.

Так и должно быть

3.Но на iOS 7 вид был немного искажен.

Это из-за прозрачного состояния и панелей навигации.

4. И я слышал, что если Развертывание на 6.1, вы не можете загрузить его в App Store.

Вы можете. Вы должны поддерживать iOS 7. 6.1 - это минимально необходимая версия. Так что все в порядке.

5. Более того, я установил "Развертывание" на 7.0, но потом не смог запустить его на устройстве iOS6.

Если минимум 7.0, вы не можете запустить его выше 6.1. Вы правы:)

6. Как мне разработать приложение, чтобы оно работало для iOS 6,7 и загружалось в AppStore.

Если компилятор показывает вам некоторые предупреждения о совместимости, вы должны исправить их. Кроме того, когда ваше приложение работает над 7.0, оно должно иметь стиль iOS7.0. (никого не волнует, как это будет выглядеть на устройствах iOS 6.1).

ОБНОВИТЬ:

Как установить Delta?

Если вы создаете свой графический интерфейс программно определить

//Screen height
#define SCREEN_HEIGHT ([[UIScreen mainScreen] bounds].size.height)
#define SCREEN_35 (SCREEN_HEIGHT == 480)
#define SCREEN_40 (SCREEN_HEIGHT == 568)

а затем использовать его следующим образом

UIView *newView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 100, SCREEN_40 ? 200 : 100)];

Если вы используете Xib или раскадровку

введите описание изображения здесь

Другие вопросы по тегам