Когда дело доходит до экрана запуска, я не могу найти унифицирующий способ имитировать внешний вид приложения как на iOS6, так и на iOS7 (поддерживая оба). Мы вынуждены делать регулярный заставку логотипа или аналогичного, если у нас есть меню панели инструментов или у вас, ребята, есть отличные идеи, как их решить?
Запуск экранов, поддерживающих iOS6 и iOS7, - заставил заставку экрана
Ответ 1
Короткий ответ
В iOS 7 приложение может использовать другое изображение запуска в зависимости от того, какая версия iOS работает. Чтобы предоставить различные изображения запуска, добавьте ключ UILaunchImages в файл Info.plist и используйте словарь для описания каждого изображения запуска.
Фон
Он использует следующие ключи:
UILaunchImageName. Строка, содержащая имя файла изображения PNG. Файл изображения должен находиться на верхнем уровне пакета приложений. Имя, указанное вами для этого ключа, не должно содержать имя файла расширение, а также не включает модификаторы, такие как @2x, -568h, ~ iphone, или ~ ipad.
На диске ваши имена файлов изображений могут по-прежнему включать @2x, -568h, ~ iphone, или ~ ipad модификаторы, если это необходимо, хотя они не обязательный. Система автоматически учитывает такие модификаторы, когда выбор файла для загрузки.
UILaunchImageMinimumOSVersion - для iOS7 это должна быть строка "7.0".
UILaunchImageOrientation. Строка, содержащая один из следующих: портрет, портрет, пейзаж, пейзаж, пейзаж, пейзаж, пейзаж.
UILaunchImageSize. Строка, определяющая ширину и высоту, например: "{320, 480}". Вы должны указать ширину и высоту относительно устройство в портретной ориентации. Другими словами, портрет и пейзажные изображения, ориентированные на одно и то же устройство, имеют одинаковую ширину и высота.
Если этот ключ присутствует, iOS 7 использует его исключительно для получения запуска изображений.
НО: Я обнаружил, что придерживаться соглашения об именах также для iOS7 очень помогло!
Этот ключ поддерживается в iOS 7.0 и более поздних версиях.
ОК - так что теперь?
Поскольку у меня уже были изображения запуска для iOS6 и со всеми их конкретными соглашениями об именах. Я решил сделать копию всех из них и приписать имя "iOS7-", чтобы ограничить мое собственное замешательство в отношении всех разных размеров и имен. Создание префикса должно оказаться полезным, так как тогда большинство изображений будут немедленно загружены правильно.
Имена файлов: Я уже имел их для iOS6, я также перечисляю размеры файлов для тех, кто в них нуждается:
- Default.png
(320x480)
- [email protected]
(640x960)
- [email protected]~ipad.png
(2048x1496)
- По умолчанию ~ ipad.png
(768x1004)
- Default1024x768.png
(1024x768)
- [email protected]
(2048x1536)
- [email protected]
(640x1136)
- Default768x1024.png
(768x1024)
- [email protected]
(1536x2048)
- Default-Landscape ~ ipad.png
(1024x748)
- [email protected]~ipad.png
(1536x2048)
Итак, я сделал копию всех этих имен файлов для iOS7 (одинаковых размеров), префикс которых их "iOS7 -":
- iOS7-Default.png
- [email protected]
- ...
В XCode
Теперь для создания вашей записи в PLIST. Перейдите в ваш-name-of-application.plist. В пустой области щелкните правой кнопкой мыши и выберите "Добавить строку". Убедитесь, что он становится верхним элементом, а не подпунктом некоторой другой информации в .plist.
Запись:
UILaunchImages
Щелкните правой кнопкой мыши на этом UILaunchImages и выберите тип значения "Массив".
Используйте приведенный ниже рисунок в качестве руководства к тексту и для того, как он будет выглядеть, когда все будет готово:
Если вы откроете этот массив так, чтобы маленький треугольник индикатора влево опустился, он пуст в первый раз, но если вы выберете "добавить строку", когда он будет открыт, он создаст подстроку. Сделайте это сейчас:
Щелкните правой кнопкой мыши по UILaunchImages и выберите "Добавить строку". Щелкните правой кнопкой мыши на этой новой строке (элемент 0) и выберите тип значения "Dict"
Продолжайте открывать эти элементы с помощью индикатора треугольника и щелкните правой кнопкой мыши и "Добавить строку"
Этот элемент вы назовете UILaunchImageMinimumOSVersion
и установите тип значения как "string", а строка - "7.0"
Теперь все строки и должны быть на том же уровне, что и элемент UILaunchImageMinimumOSVersion. В том же словаре (словарь). Создайте их, просто выбрав "Добавить строку" для каждого:
UILaunchImageName
- base-name-of-iOS7-launch-image. В моем случае это было "iOS7-Default"
UILaunchImageOrientation
- пример: портрет
UILaunchImageSize
- размер элементарной базы iOS7-Default.png: "{320, 480}". Программа найдет все файлы с перестановками базового имени. Не забудьте выбрать базовое имя файла без спецификаций ipad/iphone/Portrait/Landscape или .png.
Примечание:
Xcode уже сделал следующие элементы в .plist для меня после первого добавления изображений iOS6 во все доступные слоты: -)
UILaunchImageFile ~ ipad... = "По умолчанию" - так это было ОК
UILaunchImages ~ ipad... Имели два элемента, которые необходимо было обновить до версий iOS7, потому что они теперь неправильно держали версию iOS6. Те, кого я назвал Default1024x768 и Default768x1024, и теперь я просто префикс "iOS7-" для каждого из имен, и я был сделан.
Пример того, как он может искать тех, кто хочет отредактировать plist напрямую:
<key>UILaunchImages</key>
<array>
<dict>
<key>UILaunchImageMinimumOSVersion</key>
<string>7.0</string>
<key>UILaunchImageName</key>
<string>iOS7-Default </string>
<key>UILaunchImageOrientation</key>
<string>Portrait</string>
<key>UILaunchImageSize</key>
<string>{320, 480}</string>
</dict>
</array>
[edit by jd: исправлено правописание "UILaunchImages" ]
Ответ 2
Выделите проект в браузере проекта, выберите "Общие", прокрутите вниз до "Иконки приложений", нажмите "Использовать каталог активов" и выберите "Миграция". Ваши существующие значки и заставки будут автоматически перенесены в каталог активов. Затем вы можете выбрать каталог для добавления дополнительных изображений.
Чтобы добавить новые изображения, вы просто перетаскиваете из Finder и опускаетесь в квадраты для каждого типа изображения.
(Внимание: в редакторе каталога необъяснимо используется не прокручиваемый широкоформатный формат, и вы можете пропускать вещи с правой стороны, если ваш экран недостаточно широк.)
Ответ 3
Вы также можете использовать новую функцию каталог изображений в Xcode 5 для управления несколькими версиями изображений запуска.
Ответ 4
Теперь вы можете напрямую добавлять значки приложений и всплески изображений в изображениях. xcassets, Нажмите кнопку +, чтобы добавить соответствующий набор изображений для iphone5 с iOS 5,6,7, iphone4, iPad. теперь нет необходимости устанавливать имя изображения, например default.png, default @2x.png
Ответ 5
Будьте осторожны при использовании репозитория images.xcassets, это не позволит вам локализовать ваши заставки.
В настоящее время я пытаюсь получить французскую и английскую версию нашего приложения.
WWW > Будет ли этот метод "plist" работать, если вам нужно локализовать ваши заставки?
Ответ 6
У меня также была та же проблема с более старым приложением, которое я разработал для iOS 7. Он архивировался и загрузился с Xcode 6, но ошибка "двоичная не оптимизированная для iPhone5", возвращаемая с Xcode 7. После попытки множества решений, я был только успешным, удалив все ссылки на любое Launch Image (так как я использовал универсальный .xib) И установил цель развертывания с 7.0 до 8.0