Не удалось загрузить изображение my-icon.png, на которое ссылается перо (iPhone) - PullRequest
4 голосов
/ 11 февраля 2011

Я получаю следующее сообщение об ошибке:

2011-02-11 14:47:13.815 myProject[13177:207] Could not load the "icon-troubleshoot.png" image referenced from a nib in the bundle with identifier "com.myCompany.myProject"

Этот файл является старым файлом, который использовался ранее, но теперь был удален.Насколько я знаю, icon-troubleshoot.png не используется нигде в моем проекте.Я пытался очистить и восстановить, очистить кеш, но это не сработало.Поиск строки устранения неполадок в виде текстовой ссылки и «содержит» выбранных ничего не возвращал.Кто-нибудь знает, как мне найти причину этой ошибки?

Ответы [ 7 ]

12 голосов
/ 26 июня 2012

В предупреждающем сообщении указывается, что в вашем файле .xib или .nib есть ссылка на этот файл png.

Теперь вопрос в том, как его найти.Xcode плохо это делает.Открытие каждого файла пера в текстовом редакторе, таком как textedit и ручной поиск, занимает много времени.

Лучшее решение, которое у меня есть для таких задач поиска, - это запустить терминал и использовать команду grep.Перейдите в исходную папку вашего проекта в терминале, затем вы можете запустить следующее в вашем случае:

    grep -i -r --include=*.xib "my-icon.png" ./

Это вернет все * .xib файлы, на которые ссылается my-icon.png.Позже, когда вы увидите эти * .xib файлы в xcode, вы найдете '?'войдите вместо my-icon.png, показывая, что изображение действительно отсутствует, когда вы его удалили.Теперь вы удалили его, чтобы заменить его другим изображением.Поэтому выберите «?»отметьте символ, откройте область служебных программ (справа) и выберите правильное имя файла.Это все.

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

Насколько я знаю, поисковый инструмент x-code не выполняет поиск внутри xib-файлов, поэтому ваш поиск ничего не возвращает. В любом случае, вполне вероятно, что где-то есть ссылка в xib-файле. Поскольку xib-файлы - это просто xml, если вы не хотите проверять их все вручную, попробуйте открыть всю вашу xib с помощью текстового редактора, такого как TextMate, и выполнить глобальный текстовый поиск по содержимому файла .png.

Надеюсь, это поможет. Ciao!

3 голосов
/ 09 октября 2013

Очистите весь проект и перекомпилируйте.

1 голос
/ 20 апреля 2012

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

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

В одном из перьев должна быть ссылка на этот файл. Если вы не можете его найти, попробуйте удалить файл пера, в котором использовалось изображение, и создайте новый.

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

0 голосов
/ 31 декабря 2013

Выберите объект раскадровки в обозревателе решений, щелкните правой кнопкой мыши раскадровку -> «Открыть как» -> «Исходный код», теперь вы увидите код XML из раскадровки. Найдите имя вашего изображения с помощью Cmd + F и замените или удалите его.

0 голосов
/ 08 октября 2013

Это может произойти, если у вас есть только изображение imageName@2x.png и вы запустили сборку дисплея без сетчатки с низким разрешением.

Сократите высоту и ширину пополам в вашем любимом графическом редакторе, а затем сохраните их в той же папке, что и @ 2x, как imageName.png

...