У меня есть приложение, поддерживающее iOS8 и более поздние версии, встроенное в Xcode 7, и я использую XIB для запуска экрана (у меня нет изображений запуска). В представлении содержится один UILabel с версией приложения и 2 UIImageView с изображениями, которые присутствуют в Images.xcassets: логотип и всплывающее изображение.
UILabel и изображение логотипа отображаются правильно, когда я запускаю приложение, но заставка не работает, если я запускаю приложение на iPad Air 2 с iOS9. Я тестировал на Air и Mini iOS8 и iOS9 для iPad 2, iPad Air и iPad Air 2, и изображение получилось правильно во всех этих случаях.
Я провел некоторое базовое устранение неполадок, чтобы узнать, могу ли я понять, что происходит, но я не смог его решить, и единственное различие, которое я вижу между изображением, которое работает, и тем, что не удается, когда я добавил это к активам...
Вот краткое изложение того, что я знаю:
-
UIImageView для изображения всплеска находится в правильном месте, в правильном размере. Я могу сказать это, потому что я установил цвет фона зеленым, чтобы убедиться. Вид есть, но изображение не появляется. Поэтому я предполагаю, что мнение не виновато.
-
Настройка UIImageView для изображения всплеска, чтобы также использовать изображение логотипа, делает изображение логотипа отображаемым в правильном месте для представления. Это также заставляет меня предположить, что взгляд не виноват.
-
UIImage, который я использую во всплывающем представлении изображения, используется в другом месте приложения и отлично выглядит в этих других представлениях (изображение логотипа также используется в другом месте приложения и отображается отлично). Поэтому я предполагаю, что образ действителен и его появление в других представлениях не является проблемой.
-
Я подтвердил, что настройки UIImages для логотипа и всплеска в файле xcassets одинаковы. Они имеют значение Universal, Любая ширина и высота, множественные масштабные коэффициенты, отображаемые по умолчанию. Существует одно отличие: у логотипа есть шкалы 1x, 2x и 3x, в то время как изображение всплеска имеет только 1x и 2x, но я также пытался использовать UIImages только с 1x и 1x и 2x значениями в UIView, и они работают (если они были добавлено в проект некоторое время назад).
-
Добавление другого изображения другого размера или формата (PNG и JPG) в мои xcassets и использование этого UIImage в UIImageView для всплывающего изображения также не отображается.
-
Добавление другого файла UIImageView в XIB файл и выделение его UIImage, который уже был на xcassets, отображается на экране загрузки.
-
Копирование и переименование файлов изображений, используемых для логотипа, и добавление их в проект, а затем использование этого UIImage в представлении всплеска также не отображается.
-
Я пробовал очистить проект, перезапустить машину разработки и удалить приложение из Air 2 и переустановить его на случай, если это будет проблемой.
Эти последние три шага заставляют меня поверить, что некоторые проблемы с изображениями добавлены после определенного момента в жизненном цикле проекта. Хотя я обновился до Xcode 7 вчера, заставка была первоначально добавлена в Xcode 6, но изображение логотипа (также добавленное в Xcode 6) было добавлено несколько месяцев назад.
Я просмотрел файлы json для изображения логотипа и изображения брызг, и они, похоже, имеют тот же формат. Я также трался через файл pbxproj, ищущий различия, и я не вижу ничего.
Итак, мне было интересно, есть ли у кого-нибудь идеи, почему экран запуска может не отображать эти новые изображения, которые я добавляю в Air 2 конкретно? Другие вопросы, которые я читал, связанные с изображениями, которые не отображаются, как представляется, связаны либо с Launch Images, либо с изображениями в XIB файлах, которые имеют связанные классы, ни то, что кажется здесь актуальным.