Как сделать приложение 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.
- Просто откройте свою раскадровку и затем нажмите на помощника редактора.
- Теперь откройте предварительный просмотр раскадровки в помощнике редактора.
- В правом нижнем углу есть кнопка помощника редактора с надписью iOS7 или новее, нажмите на нее и выберите iOS6 или новее.
- Теперь вы можете видеть на экране пользовательский интерфейс для iOS7 и iOS6.
- Теперь выберите определенный контроллер представления и затем выберите инспектора размера.
- В инспекторе размеров вам просто нужно установить 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 или раскадровку