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




SplitView[1290:307] Could not load the "canary04.png" image referenced from a nib in the bundle with identifier "xx.co.mycompany.ipad.SplitView"



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



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



EDIT: я добавил другое новое изображение в другой наконечник, и это не работает никаких проблем.



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

855   30  

30 ответов:

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

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

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

  • в представлении проекта щелкните имя проекта
  • Выберите свою цель и выберите вкладку "этапы сборки"
  • перетащите файл изображения в раздел "копировать ресурсы пакета"

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

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

легкий путь

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

grep -R 'canary04.png' YourMainDirectoryFolder/*

2 это даст вам (например) такой вывод:

YourProject/en.lproj/YourViewController.xib: 

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

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

  1. удалите синюю папку, в которой находится изображение.
  2. импорт и выберите "Копировать элементы, если это необходимо".
  3. выберите "Создать группы", а не папки

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

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

enter image description here

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

enter image description here

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

Удачи.

EDIT: Текст выше должен был прочитать щелкните правой кнопкой мыши file (canary04.png) в Xcocde и выберите получить информацию...

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

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

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

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

  • очистить
  • построить и запустить

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

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

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

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

Решение 1 :

в моем случае я скопировал папку с изображениями и даже проверено "назначение: копировать элементы, если это необходимо". Однако он не был добавлен в "Copy Bundle Resources" из "Build Phases".

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

  1. выберите цели
  2. выберите "Построить Фаз" tab
  3. выберите "Копировать Пакет Ресурсы"
  4. нажать на кнопку "+" (плюс) кнопка прямо под ним
  5. найдите изображения и добавьте его

Screenshot for solution 1

решение 2 :

удалить изображения выбрав "переместить в трэш". Опять добавить изображения в вашем проекте с "Destination : copy items if needed" проверено.

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

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

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

в раскадровке (визуальный дизайнер) у меня был imageView и изображение было установлено на "ic_timeprogress_000.ПНГ" (не программно). Дизайнер показал imageView правильно:

imageView in subdirectory

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

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

imageView in subdirectory

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

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

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

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

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

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

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

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

(я использовал ресурсы изображения)

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

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

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

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

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

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

попробуйте очистить проект и убедитесь, что информация.plist в матчах ХХ.ко.название_компании.для iPad.SplitView

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

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

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

исправить:

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

enter image description here

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

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

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

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

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

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

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

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

то, что сработало для меня, - это убедиться, что владелец файла в interface builder имеет выход "view".

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

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

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

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

Comments

    Ничего не найдено.