Не удалось загрузить изображение, связанное с наконечником в комплекте, запущенном на устройстве

  SplitView [1290: 307] Не удалось загрузить изображение "canary04.png", на которое ссылается перо в комплекте с идентификатором "xx.co.mycompany.ipad.SplitView"

Я получаю только ошибку при запуске на устройстве. в симуляторе проблем нет.

Я использую изображение непосредственно в конструкторе интерфейса с UIImageView.

ОБНОВЛЕНИЕ: я добавил другое новое изображение в другое перо, и это без проблем работает.

У кого-нибудь есть идеи?

Ответ 1

Файловая система на iOS-устройствах чувствительна к регистру, поэтому это вполне возможно. (Mac OS X, как правило, чувствителен к регистру, поэтому вы не видели эту проблему в симуляторе.)

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

Ответ 2

Он не может быть добавлен в вашу цель, а в XCode 4 вы можете сделать это следующим образом:

  • В представлении Project щелкните название вашего проекта
  • Выберите свою цель и выберите вкладку "Сформировать фазы".
  • Перетащите файл изображения в раздел "Ресурсы копирования Bundle".

Это исправило это для меня.

Ответ 3

У вас есть изображение в папке с ссылками в XCode (синяя папка)? Если это так, вы должны указать имя папки в пути к изображению, что-то вроде "Images/canary04.png"

Ответ 4

Простой способ

1 Просто выполните grep в командной оболочке, чтобы найти строку ссылочного изображения:

grep -R 'canary04.png' YourMainDirectoryFolder/*

2 Это даст вам (например) вывод, подобный этому:

YourProject/en.lproj/YourViewController.xib: 

<textField borderStyle="roundedRect" background="canary04.png" id="19">

3 Теперь вы знаете, какой файл nib и какой элемент он есть. Просто зайдите в файл и удалите ссылку.

Ответ 5

  • Удалить синюю папку, где находится изображение.
  • Импортируйте снова и выберите "Копировать элементы, если необходимо".
  • Выберите папки "Создать группы" НЕ

Ответ 6

Сохранить изображение как PNG-24. Это работает для меня

Ответ 7

Вы можете сделать это, чтобы проверить его на своем раскадровке, или nib. Откройте его как исходный код:

enter image description here

Затем "Найти" имя изображения в нем, посмотрите, существует ли он, но уже недействителен в вашем проекте, возможно, вы удалили или изменили его имя, и теперь оно не кажется правильным.

enter image description here

Ответ 8

Включили ли вы файл в цель? Щелкните правой кнопкой мыши по вашей цели в Xcode, выберите "Получить информацию" и выберите группу "Цели" вверху. Убедитесь, что выбранная вами цель проверена.

Удачи.

EDIT: Текст, указанный выше, должен быть прочитан. Щелкните правой кнопкой мыши файл (canary04.png) в Xcocde и выберите Get Info...

Извините за опечатку.

Ответ 9

У меня была эта проблема, когда я обновился до Xcode 4.4.1. Я обнаружил, что, хотя я удалил изображения (и соответствующие кнопки и т.д.) В раскадровках, все еще упоминалось о них в моих файлах раскадровки (в поле tabBarItems). Я вручную прокомментировал их(), Product → Clean, и я больше не получил ошибок.

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

Ответ 10

У меня была такая же проблема. попробуйте

  • чистый
  • создать и запустить

он работал со мной

Ответ 11

В моем случае это было потому, что Photoshop не сохранял мои файлы правильно. В диалоговом окне сохранения файла я нажал на файл myfile.png, чтобы перезаписать этот файл, и он сохранил файл с расширением png, но в формате photoshop.

Мне пришлось обязательно изменить формат файла в PNG, прежде чем нажимать на файл, который я хотел бы перезаписать, тем самым сохраняя в реальном png файле, таким образом, читаемый iOS. Интересно, что интерфейс-сборщик показал мои файлы psd-as-png просто отлично.

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

Ответ 12

Решение 1:

В моем случае я скопировал папку, содержащую изображения, и даже проверил "Назначение: скопируйте элементы, если необходимо". Однако он не был добавлен в "Копировать ресурсы пакета" в "Фазы сборки".

Вы можете добавлять изображения следующим образом:

  • Выберите цели
  • Выберите вкладку "Сформировать фазы".
  • Выберите "Копировать ресурсы Bundle"
  • Нажмите кнопку "+" (Плюс) только под ней.
  • Найдите изображения и добавьте их

Screenshot for solution 1

Решение 2:

Удалите изображения, выбрав "Переместить в трэш". Снова добавьте изображения в свой проект с отметкой "Назначение: копировать элементы, если необходимо".

Note : Make sure that you add images in Assets.xcassets folder and not outside it.

Ответ 13

Я тоже получал эту ошибку. Я опишу свой сценарий:

У меня есть подкаталог "img", в котором есть несколько png. Одним из этих png является "ic_timeprogress_000.png"

В раскадровке (визуальный дизайнер) у меня был ImageView, и образ был установлен на "ic_timeprogress_000.png" (не программно). Дизайнер правильно показал изображениеView:

imageView in subdirectory

Хотя при запуске приложения была сброшена ошибка.

Итак, в раскадровке я изменил (я настаиваю: не программно) от "ic_timeprogress_000.png" до "img/ic_timeprogress_000.png", что приводит к неправильному отображению изображения в дизайнере, но корректно отображаемому при запуске (без ошибок )

imageView in subdirectory

Хотя я изменяю imageView.image программно, поэтому это "начальное изображение" никогда не используется.

Ответ 14

Убедитесь, что canary04.png существует в вашем проекте и что он не был удален.

Ответ 15

Моя проблема заключалась в том, что я сохранил изображение как .jpg и изменил имя на .png(все еще был в формате jpg). Он работал с симулятором

Ответ 16

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

Ответ 17

У меня была другая проблема в iOS 8. В моем случае проблема заключалась в том, что я выбрал Device Specific для набора изображений, а затем выбрал iPad. Изменение этого параметра на Universal устранило проблему.

Этот параметр можно найти в файле images.xcassets, в третьем столбце показан инспектор атрибутов для набора изображений.

В этом случае изображения не будут отображаться в раскадровке или файле NIB, даже если вы добавили их в images.xcassets. Они также не будут отображаться в симуляторе или устройстве.

Ответ 18

Я столкнулся с этой проблемой, когда пытался установить образ файла imageView в файле Interface Builder (.xib).

(Я использовал Image Assets)

У меня было 2 изображения с theImage.jpeg и [email protected] Интерфейс Builder может отображать истинные изображения во время компиляции с этими форматами jpg / jpeg. Но у меня есть эта ошибка во время выполнения:

Could not load the "theImage" image referenced from a nib in the bundle with identifier "org.etc.etc"

Затем я изменил свои форматы файлов изображений на .png, и он сработает!

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

Ответ 19

Я также столкнулся с проблемой, что jpeg файлы не могут быть загружены успешно, однако я решил это, не изменяя их в формате png: например, если у вас есть изображение с именем "bg.jpg" , дон 't использовать "bg" в раскадровке (это имя указано в списке выбора выпадающего списка), вместо этого вы должны явно писать "bg.jpg" в поле имени.

Для программирования, основанного на изображении, я предполагаю, что использование расширения .jpg, например [UIImage imageNamed:@"xx.jpg"], также должно работать (я не тестировал).

Ответ 20

Попробуйте очистить проект и убедитесь, что info.plist соответствует xx.co.mycompany.ipad.SplitView

Ответ 21

Проверьте имя изображения. Затем проверьте, можете ли вы сами открыть изображение в краске или в фотошопе. Если изображение было создано в фотошопе и были слои, иногда возникает конфликт с .png

Ответ 22

У меня была такая же проблема, если ваши изображения находятся внутри подпапок, вам нужно выбрать опцию "Создать группы для подпапок" при копировании ресурсов.

Ответ 23

У меня есть эта проблема с Xcode 5, и кажется, что "Объединить изображения с высоким разрешением" является виновником. Я открыл пакет приложений, и все изображения были *.tiff, что заставило изображение "не быть найдено": S

FIX

Откройте настройки проекта и выполните поиск в верхней части для "комбинировать". Измените этот параметр на NO.

enter image description here

По какой-то причине всем не хватает этого существенного исправления.

Ответ 24

В моем случае все изображения, где отображаются штрафы на устройствах s > iOS 7, но не с iOS 6.1. Решение состояло в том, что iOS7 чувствителен к регистру, но iOS 6.1 не для меня. У меня были изображения с именем "myImageName", а также "myimagename", ведь мой старый iPhone 3 не смог отобразить эти изображения.
Поэтому переименование их решило.

Ответ 25

Пробовал каждый ответ здесь и ничего, поэтому здесь другой глюк, ваше имя значка не может иметь точек (.), потому что, если это так (и Xcode позволяет вам это делать!), в то время как значки хорошо отображаются в раскадровке, они выиграли Не загружайте ни симулятор, ни устройство.

Ответ 26

Возможно, после того, как вы установили изображение кнопки, вы изменили имя изображения.

Ответ 27

2015 - Все еще проблема. Я ссылался на изображение, которое больше не существовало на одной из кнопок с вкладками.

Решение: Просто проверьте все ваши кнопки, UIImage и т.д. И убедитесь, что изображение, на которое вы ссылаетесь, действительно существует в вашем проекте.

Ответ 28

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

Удаление файла и добавление его снова решает проблему.

Ответ 29

что сработало для меня, убедитесь, что владелец файла в построителе интерфейса имеет "представление".

Из IB выберите владельца файла из "Placeholders", затем в "Insints Connections" убедитесь, что розетка просмотра подключена к основному виду текущего XIB.

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

Надеюсь, это поможет кому-то еще.

Ответ 30

В моем случае проблема была в формате изображения. Они были файлами "jpg", а Xcode ожидал "png" файлов. Изменение формата файла устранило проблему.