У меня есть приложение, которое поддерживает iOS8 и более поздние версии, встроенное в Xcode 7, и я использую XIB для экрана запуска (у меня нет стартовых изображений). Представление содержит одну UILabel с версией приложения и 2 UIImageViews с изображениями, которые присутствуют в Images.xcassets: логотип и заставку.
UILabel и изображение логотипа отображаются правильно, когда я запускаю приложение, но заставка не отображается, если я запускаю приложение на iPad Air 2 с iOS9. Я тестировал на Air и Mini под управлением iOS8 и iOS9 симуляторы для iPad 2, iPad Air и iPad Air 2, и во всех них изображение отображается правильно.
Я выполнил некоторые базовые действия по устранению неполадок, чтобы выяснить, могу ли я выяснить, что происходит, но я не смог их решить, и единственное различие, которое я вижу между работающим изображением и ошибкой, - это когда я добавляю его в активы...
Вот краткое изложение того, что я знаю:
UIImageView для заставки находится в правильном месте, в правильном размере. Я могу сказать это, потому что я установил его цвет фона на зеленый, чтобы убедиться. Вид есть, но изображение не появляется. Поэтому я предполагаю, что мнение не виновато.
Настройка UIImageView для заставки также для использования изображения логотипа заставляет изображение логотипа отображаться в правильном месте для просмотра. Это также заставляет меня предположить, что мнение не виновато.
UIImage, который я использую в представлении с изображением-заставкой, используется в другом месте приложения и прекрасно отображается в других представлениях (изображение логотипа также используется в другом месте в приложении и выглядит нормально). Поэтому я предполагаю, что изображение является действительным, и его появление в других представлениях не является проблемой.
Я подтвердил, что настройки UIImages для логотипа и заставки в файле xcassets одинаковы. Для них установлено значение Универсальный, Любая ширина и высота, несколько масштабных коэффициентов, отображаемых по умолчанию. Есть одно отличие - у логотипа есть масштаб 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, которые имеют связанные классы, ни один из которых не представляется здесь уместным.