Проблема с удалением и повторным добавлением файла изображения в мой комплект приложений iOS4 - PullRequest
2 голосов
/ 01 августа 2010

Моя проблема в том, что это должно быть настолько просто, что это ошеломляет. Когда я изменяю внешний вид (в PhotoShop) файла изображения, который хранится в комплекте моего приложения. Мой метод замены старого изображения в комплекте новым:

1) удалить старое изображение из пакета приложения (выбрав также перейти в корзину) 2) перетащите новое изображение в мою файловую иерархию в xcode (выбрав для копирования в каталог приложения)

когда я делаю это, приложение не может найти изображение, независимо от того, что я делаю. Новые изображения имеют то же имя, что и старые изображения, но ни один из методов загрузки изображений (imageNamed, imageWithContentsOfFile, nibs) не работает. (Хотя я считаю, что перья также загружаются с imageNamed, я не уверен).

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

Любая помощь будет оценена.

Спасибо

Ответы [ 3 ]

4 голосов
/ 01 августа 2010

Возможно, ваша проблема в том, что изображение не скопировано в цель. В панели xcode groups & file уточните узел для целей, разверните цель вашего приложения, и вы увидите, как ресурсы Copy Bundle развернут ее, и вы увидите все файлы, скопированные в пакет ресурсов по умолчанию, когда вы развернете свое приложение на sim / устройство. Только ресурсы, найденные там, будут доступны для вашего приложения. Если вы не видите свое изображение там, вы можете просто перетащить его туда, и все будет работать.

Теперь, чтобы понять, почему это могло произойти, нам нужно рассмотреть различные варианты добавления файлов в xcode.

Когда вы добавляете файл в xcode, вы получаете диалоговое окно, которое включает несколько интересных и иногда пропускаемых опций.

Первый - если файл будет скопирован в папку проекта или он просто указывает на исходное местоположение файла. Самый безопасный способ - всегда копировать файлы в путь проекта. Однако для изображений (например, в вашем случае) я делаю это по-другому. Я поддерживаю отдельную графическую папку для каждого приложения, я сохраняю там изображения (как исходные, так и конечные png). Когда я добавляю изображение, я не копирую его в папку проекта, а xcode просто указывает на его местоположение. Таким образом, я могу просто отредактировать изображение в фотошопе, сделать перестройку, и обновленное изображение появится на телефоне. Важно понимать, что структура каталогов файлов, которые вы включаете в проект, почти не имеет значения, файлы, которые появляются в ресурсах Копировать комплект для цели, всегда будут копироваться в один (и плоский) пакет / «каталог» на телефоне. , Единственное исключение - если вы действительно добавляете каталоги в xcode (лично я рекомендую против этого).

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

Несколько предостережений - при использовании ссылок на файлы в другом месте это расположение относительно пути проекта, поэтому рекомендуется хранить все файлы в каталогах ниже корневого каталога проекта. Таким образом, вы все равно можете скопировать весь проект в другое место, и он все равно будет работать.

1 голос
/ 09 августа 2011

Отличный совет выше: я думал, что добавлю больше для будущих поисков по этой теме:

Я добавлял и удалял изображения в проект, как указано выше:

  1. Удалите старое изображение из комплекта приложения (выбрав также перемещение в корзину).
  2. Перетащите новое изображение в мою файловую иерархию в xcode (выбрав для копирования в каталог приложения).

Однако, когда я попытался перетащить новое изображение с тем же именем в мою файловую иерархию в xcode, я получил сообщение об ошибке, что это не разрешено.

Оказывается, когда я удалял старое изображение, Xcode удалял его из иерархии файлов проекта, но фактический файл не удалялся из корневого каталога проекта.

Я решил свою проблему, удалив изображение из корневого каталога проекта и снова добавил изображение!

0 голосов
/ 01 августа 2010

Вы помещаете свои изображения в пользовательскую подпапку?Если вы просто перетаскиваете изображения в дерево проекта XCode, если вы копируете их, изображения будут скопированы в корень каталога проекта, а не в «Изображения» или другую папку, которую вы могли настроить.

Обратите внимание, что вы можете щелкнуть правой кнопкой мыши изображение в вашем комплекте, выбрать «Получить информацию ...» и сбросить его местоположение, если оно было перемещено или скопировано в папку, которую вы не ожидали.

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