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