Почему мой каталог активов не возвращает изображения R4?

Я нахожусь в процессе переноса своих изображений в каталог активов. Моему приложению необходимо получить доступ к изображению запуска после запуска и отобразить его на экране.

Достаточно просто, но у меня есть разные изображения для коротких и высоких iPhone, и мой iPhone 5 загружает короткое изображение запуска, когда я звоню [UIImage imageNamed:@"LaunchImage"].

Хорошо, может быть, я не могу сделать это с помощью Launch Image. Вместо этого я попробую поместить несколько изображений в обычный набор изображений.

Набор изображений

Нет игральных костей. Используя iPhone 5, когда я вызываю [UIImage imageNamed:@"Derp"] ИЛИ когда я устанавливаю изображение в Interface Builder, я получаю изображение 2x (ретина) вместо изображения R4 (ретина 4 дюйма).

Эта функция сломана? Как получить образ R4 на моем iPhone 5 (iOS 7)?


person Neal Ehardt    schedule 20.09.2013    source источник


Ответы (5)


Чтобы образ R4 автоматически выбирался Xcode, вы должны изменить iOS Target на iOS 7. Таким образом, даже если вы используете iOS7 SDK, целью вашего проекта должна быть iOS 7.

person Coolsinus    schedule 27.09.2013
comment
Я изменил цель iOS на iOS7. Но приложение не работает в iOS6. как исправить эту проблему в iOS6. Я хочу, чтобы мой образ R4 работал на обоих 4-дюймовых экранах (iOS6 и iOS7). - person Thangavel; 02.01.2014
comment
Я перешел только на ios 7 и все работает. Затем я снова изменил свой проект на ios 6, и r4 все еще работает ... может быть, после очистки перестанет работать. - person João Nunes; 08.03.2014
comment
@JoãoNunes FWIW продолжает работать, пока вы не удалите приложение с устройства. Я пробовал очищать и очищать производные данные, и все равно работало... #AppleWTF - person Alejandro Benito-Santos; 25.03.2014
comment
у меня перестал работать чистый проект. Это непонятная функция :P - person João Nunes; 26.03.2014
comment
Это правильно использовать категорию UIImage, чтобы получить схему именования и добавить еще один ресурс изображения в xcasset для извлечения. - person cynistersix; 02.05.2014

Я нашел ответ благодаря этому. Подтип R4 в каталоге активов работает только с iOS 7 и выше. В другом случае будет использоваться изображение @2x.

person Tomasz Bąk    schedule 23.09.2013
comment
Не имеет отношения к моей непосредственной проблеме, но это шоу-стоппер. Почему, Эппл? ಠ_ಠ - person Neal Ehardt; 23.09.2013
comment
Я нашел это неверным в моем тестировании; в частности, R4 используется только в том случае, если целью развертывания является iOS 7.0. Версия устройства значения не имеет. @Coolsinus правильно указал это ниже. - person toblerpwn; 01.10.2013

У меня такая же проблема и поцарапанные часы. Я использую локализованные изображения запуска, которые усложняют задачу. В конце концов, я просто меняю обратно и не использую каталог активов. Назовите изображения запуска как Default.png , [email protected] и [email protected]. Локализуйте и поместите их в комплект и сделайте так, чтобы ios распознавала их автоматически. Все работает нормально.

person dqshll    schedule 29.09.2013

Образ R4 работал у меня только с этим процессом:

  1. Удалить проблемное изображение из раскадровки
  2. Добавьте совершенно новый вид изображения, чтобы заменить его ожидаемым именем актива, например. "Дерп"
person Pat McG    schedule 07.10.2013

Решение, которое мы использовали, заключается в обновлении каталога ресурсов и ориентации только на iOS 6 и более ранние версии.

Как это сделать. Перейдите в каталог активов. И в правом верхнем углу щелкните значок «Инспектор атрибутов». Здесь вы можете установить целевую ОС для образов запуска. Снимите флажки iOS 7 для iPhone. Теперь вы сможете увидеть изображения запуска для этих устройств. При этом вы также будете использовать образ 2x для R4.

person remudada    schedule 18.10.2013
comment
Я сделал это, изменив параметры «Инспектора атрибутов» для значков приложения. Но, к сожалению, не работает должным образом для iPhone 4 дюйма с iOS 6. - person xarly; 15.05.2014