Не удалось загрузить изображение, связанное с наконечником в комплекте, запущенном на устройстве
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" файлов. Изменение формата файла устранило проблему.