Изображения в приложении iPhone появляются в Simulator, но не при компиляции на устройство - PullRequest
4 голосов
/ 02 октября 2010

Я изучаю разработку для iPhone и создал простое приложение, в котором при нажатии на него изображение меняется на другое.

Если я создаю его на симуляторе, он работает нормально, но если япостроить его на устройство изображения не появляются.Я чувствую, что они не копируются.Я проверил, что они были названы правильно, и я удостоверился, что импортировал их в 'resources'

. Я не думаю, что это проблема с кодом, потому что я добавил что-то, чтобы текст отображался, когда изображениенажал, и это работает, так что кнопка все еще там что-то делает, просто на ней нет изображения.

-(IBAction)changeImage:(id)sender { 
[fortuneCookieButton setImage:[UIImage imageNamed:@"Image2.jpg"] forState:UIControlStateNormal]; 
label.hidden = NO; 
}

 -(IBAction)restoreImage:(id)sender { 
[fortuneCookieButton setImage:[UIImage imageNamed:@"Image1.jpg"] forState:UIControlStateNormal]; 
label.hidden = YES; 
}

Ответы [ 8 ]

8 голосов
/ 02 октября 2010

Совпадает ли регистр (верхний / нижний) всех ваших имен файлов точно для всех букв? Исходный код и проект & Mac?

5 голосов
/ 22 августа 2013

просто чтобы поделиться с вами, у меня была такая же проблема, и я нашел решение: я использовал строчные буквы в имени файла и прописные буквы в коде.Дело в том, что в Simulator проблем не было, потому что файловая система Mac не чувствительна к регистру, но в iPad она не работала, потому что файловая система iOS чувствительна к регистру.; -)

3 голосов
/ 11 февраля 2011

У меня была эта проблема.Как ни странно, изображение работало в прошлом, а затем перестало появляться на устройстве однажды.

Это был PNG.

Я открыл его в GIMP и снова сохранил.Затем он снова вернулся к работе.Не знаю почему.

Сумасшедший.

0 голосов
/ 11 августа 2017

поверх всех предложений - у меня не получалось, пока я не перезапустил устройство

0 голосов
/ 12 мая 2015

У меня такая же проблема.В моем случае проблема связана с UILabel над UIImageView, который показывает изображение.Когда я изменяю тип UILabel на AttributedText (в инспекторе свойств), мои реальные устройства не могут загрузить изображение.Когда я изменяю его обратно на Обычный, он работает сейчас.Я использую XCode 6.2.

0 голосов
/ 24 мая 2011

У меня тоже была такая же проблема, и она была вызвана другой причиной: у моего проекта есть файлы изображений с таким же именем!Поскольку в моем приложении много изображений, я случайно включил изображения с тем же именем.Симулятор более терпимый и показывает изображения просто отлично;однако при сборке на устройстве ни один из образов с одинаковым именем не был скопирован в каталог сборки.Очевидно, xcode более требователен к устройству: поскольку все изображения идут в один каталог, имена файлов должны быть разными.Когда есть файлы с одинаковым именем, xcode отказывается копировать любой из них, так как не знает, какой из них выбрать.

0 голосов
/ 11 февраля 2011

Очистить кэши, удалить предыдущую сборку и повторить попытку.

0 голосов
/ 02 октября 2010

В случае только изображений PNG или JPG и других форматов у вас возникла такая же проблема.Если это только для изображения PNG, то возможно, что они не сжимаются.Попробуйте следующим образом.

Выберите цель вашего проекта и перейдите к его информации.Здесь перейдите на вкладку сборки.В конфигурации выберите «Все конфигурации» в разделе «Конфигурация».Теперь напишите «COMPRESS_PNG_FILES» в строке поиска. И посмотрите статус флажка. Если он не отмечен, то установите его и он будет работать. Но если он уже установлен, то в вашем проекте должна быть другая причина.

В последнем случае я бы попросил вас создать новый фиктивный проект и проверить, добавив 2-3 изображения независимо от того, идет он или нет.

...