Подтвердить что ты не робот

Запуск экранов, поддерживающих iOS6 и iOS7, - заставил заставку экрана

Когда дело доходит до экрана запуска, я не могу найти унифицирующий способ имитировать внешний вид приложения как на iOS6, так и на iOS7 (поддерживая оба). Мы вынуждены делать регулярный заставку логотипа или аналогичного, если у нас есть меню панели инструментов или у вас, ребята, есть отличные идеи, как их решить?

4b9b3361

Ответ 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, я также перечисляю размеры файлов для тех, кто в них нуждается:

Итак, я сделал копию всех этих имен файлов для iOS7 (одинаковых размеров), префикс которых их "iOS7 -":

В XCode

Теперь для создания вашей записи в PLIST. Перейдите в ваш-name-of-application.plist. В пустой области щелкните правой кнопкой мыши и выберите "Добавить строку". Убедитесь, что он становится верхним элементом, а не подпунктом некоторой другой информации в .plist.

Запись: UILaunchImages

Щелкните правой кнопкой мыши на этом UILaunchImages и выберите тип значения "Массив".

Используйте приведенный ниже рисунок в качестве руководства к тексту и для того, как он будет выглядеть, когда все будет готово:

enter image description here

Если вы откроете этот массив так, чтобы маленький треугольник индикатора влево опустился, он пуст в первый раз, но если вы выберете "добавить строку", когда он будет открыт, он создаст подстроку. Сделайте это сейчас:

Щелкните правой кнопкой мыши по 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