Файлы изображений не читаются на iPhone - PullRequest
0 голосов
/ 17 марта 2011

Это меня запутало, поэтому я постараюсь просмотреть хронологию, чтобы кто-нибудь умный, чем я, мог показать мне, где я иду не так.

Все отлично работало в моем приложении, как на устройстве, так и на симуляторе.У меня есть файл изображения myimage.png, который находится в каталоге, где находится мой проект и был добавлен в проект.Это появляется в XCode и все.

Я строю, запускаю, и все работает как запланировано.

Тогда я решил стать умным в фотошопе и украсить свое изображение немного большим количеством цвета.В поисковике я удалил myimage.png из каталога, в котором находится мой проект.Затем я сохранил новое изображение как myimage.png в том же каталоге.Вернувшись в XCode, файл появляется в проекте и выглядит так же хорошо, как и планировалось.

Я строю, запускаю, и изображение не появляется.WTF ??!?

Вот два моих вопроса в порядке важности:

  1. Как мне исправить это, чтобы мое изображение появилось снова?

  2. Что не так в этом процессе?

Спасибо!

РЕДАКТИРОВАТЬ: Вот код, где я вызываю изображение,В myViewController.m:

- (void)viewWillAppear:(BOOL)animated {
     [super viewWillAppear:animated];
     // SOME CODE THAT DOES OTHER THINGS UNRELATED TO imageView
     [imageView setImage:[UIImage imageNamed:@"myimage.png"]];
     // MORE CODE THAT DOES OTHER THINGS UNRELATED TO imageView
}

ДРУГОЕ РЕДАКТИРОВАНИЕ: Ни один символ моего кода не изменился между приложением, работающим и не работающим. Я ценю всепредложения, так как я не могу понять это самостоятельно, но проблема, скорее всего, не в коде.

Ответы [ 3 ]

0 голосов
/ 17 марта 2011

Вам нужно будет сделать Build -> Clean. И восстановить.

0 голосов
/ 17 марта 2011
  1. просто: в xCode удалите ссылку на файл и сами файлы , а затем импортируйте ее снова ...

  2. мм.когда вы меняли свое изображение был открыт xCode?возможно, он как-то видел, что он был удален и потерял ссылку ... если вы измените ее, xCode может "выбрать" НЕ включать ее в целевой mainBundle при сборке проекта ... в xCode выберите файл и посмотрите, если checkMarkв качестве цели выбрано:

enter image description here

, если нет, оно не будет включено в ваше приложение (и это также отвечает на ваш вопрос n: 1)...

может быть, это лучший способ добавить файлы ресурсов, которые, возможно, будут изменены другими программами в будущем, пока ваш проект может быть открыт (я делаю это с использованием html-сайта, включая jpg и gif)это поместить их в подпапку вашего проекта, а затем добавить всю эту папку в ваш проект xCode И в диалоговом окне выбрать:

"создать ссылки на папку ..."

enter image description here

, который создаст синюю папку в xCode, и все ее содержимое автоматически обновится, если вы измените, добавите, удалите файлы или подпапку внутри нее ...

НО запомнитечто подпапки wв вашем приложении mainBundle будет существовать в том же порядке дерева, поэтому, если вам нужно загрузить .png, вам нужно указать, где его найти.

PS и проверьте, что имя файлаточно такой же старый файл, включая символы UpperCase ("a"! = "A")

0 голосов
/ 17 марта 2011

Я думаю, это происходит потому, что XCode не знает, что файл изменился.Всегда добавляйте / удаляйте файлы в навигаторе проекта.

Это должно работать, если вы очистите свой проект и соберите заново.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...