Das von einer Schreibfeder im Bundle mit der Kennung referenzierte Bild "" konnte nicht geladen werden

76

Wenn ich meine Anwendung lade, wird eine Warnmeldung angezeigt, dass

"Das Bild, auf das von einer Schreibfeder im Bundle mit der Kennung verwiesen wird, konnte nicht geladen werden."

Ich habe alle meine Bilder gesucht und bestätigt. Aber es zeigt immer noch diese Warnung.

Hilaj
quelle
Ich habe alle diesbezüglichen Lösungen durchgeführt, aber es wird immer noch die Warnung angezeigt. plzzz Hilfe
Hilaj
1
Ich denke, Sie haben ein Bild auf UIImageView gesetzt, aber dieses Bild ist nicht in Ihrem Bundle vorhanden. Bitte überprüfen Sie Ihre xib
Pravin Tate
Verwenden Sie Bilder in der Registerkartenleiste oder im ausgewählten Modus? Welchen Xcode verwenden Sie?
Hindu

Antworten:

51
  1. Wählen Sie Ihre Bilder im Projektnavigator aus.
  2. Öffnen Sie den Dateiinspektor.
  3. Stellen Sie sicher, dass Sie das Ziel ausgewählt haben.

Fügen Sie Ihr Bild dem Ziel hinzu

Chase Roberts
quelle
Vielen Dank!!!!!!!! Hat alles getan, bis einschließlich des Spülbeckens, aber schließlich die Bilder hinzugefügt, Bild für Bild über "* .xcodeproj" -> "Phasen erstellen" -> "Bundle-Ressourcen kopieren" Dank xcode ... 4 Stunden verschwendet zu diesem kleinen Problem ... hatte noch nie zuvor Makefile verwendet ... verrückt ... Dies ist genau der Grund, warum Leute gui-basierte Build-Tools hassen ....!
NpC0mpl3t3
Sie sind fantastisch bosssssss
SURESH SANKE
Ein sehr kleines Problem, das mehrere Stunden verschwenden kann, wenn nicht für diese Antwort. Vielen Dank ...
Abhishek
Hilfe! Ich erhalte immer noch den gleichen Fehler, obwohl ich alle "Korrekturen" auf dieser Seite ausprobiert habe. Meine Datei heißt "Landschaft.png" und ich benutze Xcode 10.
Kevin
@Kevin Löschen Sie landschaftlich.png aus dem Projekt und benennen Sie es dann um. Ziehen Sie es dann in das Projekt und aktivieren Sie das Kontrollkästchen "Elemente bei Bedarf kopieren". Stellen Sie dann nach dem Projekt sicher, dass das Kontrollkästchen für "Zielmitgliedschaft" aktiviert ist (siehe Antwort oben).
Chase Roberts
44

Ich hatte das gleiche Problem, als ich Refactor to Storyboard. Anscheinend überträgt der Asset-Katalog die Bildreferenz nicht. Zur Behebung siehe unten:

Sie würden feststellen, dass Ihre ImageViewsReferenz leer ist.

Bildansichten

1 - Klicken Sie auf die ImageView

Klicken Sie auf die Bildansicht

2 Wechseln Sie zur Dienstprogrammleiste, in der sich Ihr Asset-Image befindet unknown

Unbekanntes Bild

3 - Ändern Sie es wieder in Ihr Image-Asset

Wählen Sie Ihr Bild erneut

Dies sollte Ihren Fehler beheben. Hoffe das hilft!

Tal Zion
quelle
19

Es kann viele Gründe für diesen Fehler geben. Um dieses Problem zu beheben, können Sie einfach den folgenden Schritt ausführen:

  1. Gehen Sie zum Produktmenü des Xcodes und wählen Sie Reinigen .
  2. Wenn Sie immer noch den Fehler erhalten, entfernen Sie die Bilder aus Ihrem Projekt und fügen Sie sie erneut Ihrem Projekt hinzu.
  3. Stellen Sie beim Hinzufügen von Bildern zum Projekt sicher, dass Sie den Projektnamen unter " Zu Zielen hinzufügen " ausgewählt haben. Aktivieren Sie außerdem die Option " Elemente bei Bedarf kopieren ".

Bitte beachten Sie das Bild unten zum besseren Verständnis:

Das erste Bild zeigt, dass beim Hochladen des Bildes die Testtests unter ** Zu Zielen hinzufügen ** aktiviert sind.

Aufgrund des obigen Prozesses erhalten wir eine Fehlermeldung, wie wir in der Konsole von Xcode sehen können

Bild 3 zeigt die richtige Art des Hochladens von Bildern / Dateien in das Projekt

Das endgültige Bild 4 zeigt die Ausgabe ohne Fehler / Warnung

Kumar
quelle
Das Entfernen aller Bilder als zweite Option klingt möglicherweise nach einer Menge Arbeit und ist nicht gerade eine Lösung. Überprüfen Sie einfach Ihre imageViews und eine oder mehrere von ihnen sagen "Unbekanntes Bild".
Zia
9

Wählen Sie einfach das Bild in Xcode aus und stellen Sie rechts im Dateiinspektor unter "Zielmitgliedschaft" sicher, dass Ihr Projekt ausgewählt ist. Sie können Ihr Bild auch löschen und erneut einfügen und sicherstellen, dass "Elemente bei Bedarf kopieren" und "Zu Zielen hinzufügen" ausgewählt ist.

Bhanupriya
quelle
Für mich war es wichtig, den gesamten Ordner in den image.assets zu löschen. Nicht nur die Bilder löschen. Seltsamer Fehler ...
Kuzdu
7
  1. Klicken Sie in Ihrem Xcode-Navigator auf die Bilddatei.
  2. Gehen Sie nach der Auswahl zur rechten Seitenleiste (von XCODE), bei der es sich um Dienstprogramme handelt, und scrollen Sie unter Dateiinspektor zur Zielmitgliedschaft und wählen Sie Ihre Projektzieldatei aus.
  3. Erstellen Sie dann das Projekt und führen Sie es erneut aus.
naughtynaj
quelle
5

Versionshinweis zu Xcode9 Beta2:

JPEG-Assets in Asset-Katalogen wurden unter iOS 10 oder früher für Apps, die mit Xcode 9 erstellt wurden, nicht gefunden. API-Aufrufe für den Zugriff auf das Image wie UIImage.imageNamed: return nil. (32524123)

Problemumgehung: Verwenden Sie PNG-Ressourcen oder beschränken Sie App-Tests auf Geräte mit iOS 11 oder höher.

Versionshinweis zu Xcode9 Beta3:

JPEG-Assets in Asset-Katalogen werden unter iOS 10 oder früher für Apps gefunden, die mit Xcode 9 erstellt wurden. (32524123)

hstdt
quelle
1
Ich sehe dieses Problem mit Xcode 8.3.3 / iOS 10. Durch das Wechseln zu PNGs wird das Problem behoben, aber die Größe erhöht.
Ben Flynn
3

Sie können versuchen, Ihr Storyboard oder Ihre Schreibfeder als Quellcode zu öffnen und dann den darin enthaltenen Bildnamen zu "suchen". Überprüfen Sie, ob er in Ihrem Projekt vorhanden, aber bereits ungültig ist. Wahrscheinlich haben Sie seinen Namen gelöscht oder geändert, und jetzt scheint er nicht mehr gültig zu sein .

agy
quelle
Für einen bestimmten Fund: image="name"oder image name="name". Ich hatte gerade diesen Fehler für ein Bild mit dem Namen "first" und Storyboard-Code hatte eine Menge firstAttribute, ..: p
Gino Mempin
3

Ich habe gerade auf XCode 9 aktualisiert und es gab mir dieses Problem. Ich habe im Abschnitt "Assets" einen neuen Bildsatz erstellt und die gewünschten Bilder hinzugefügt. Anschließend habe ich sie mit benutzerdefinierten Namen wieder zu meinen Bildern in der Registerkartenleiste hinzugefügt, und es hat einwandfrei funktioniert. Hoffe das hilft!

M. Houghton
quelle
2

PROBLEM
Dies ist mir scheinbar aus heiterem Himmel auf einem Registerkartenleisten-Controller mit Symbolen für jede Registerkarte passiert. Das Storyboard zeigte immer noch meine Bildsymbole und die Assets existierten mit den erwarteten Namen.

MEIN FIX
Wählen Sie die Registerkartensymbole in ihrem jeweiligen Ansichts-Controller aus und weisen Sie das Bild wie beim ersten Mal neu zu.

raf
quelle
1

Das ist mir auch passiert. Ich habe beim Hinzufügen des Bildes alles richtig gemacht, aber aus irgendeinem Grund hat es nicht funktioniert. Ich musste nach dem Hinzufügen erneut auf das Bild klicken und dann in der rechten Symbolleiste unter "Zielmitgliedschaft" feststellen, dass mein Projekt nicht ausgewählt wurde, obwohl ich es beim Hinzufügen des Bildes ausgewählt hatte. Ich habe es hier ausgewählt und alles hat gut funktioniert.

SalokinSwift
quelle
1

Ich habe die gleiche Fehlermeldung erhalten (in XCode 8), obwohl die App einwandfrei lief (im Simulator und auf dem Gerät).

Ich habe das Problem gefunden: In meinem Storyboard habe ich mithilfe des Dokumentumrissbereichs durch jedes einzelne UIImage geklickt und im Attributinspektor für jedes UIImage - im Abschnitt Bildansicht - festgestellt, dass ein UIImage einen leeren Dateinamen hatte (anstelle von der PNG-Dateiname, der das Bild enthält). Durch erneutes Auswählen des PNG-Dateinamens aus dem Dropdown-Feld wurde die Fehlermeldung behoben.

Ugo
quelle
Danke, das hat bei mir funktioniert. Ich habe alle UIImageViews durchgesehen und eine gefunden, die ein Bild zeigte, aber das Feld Bild war leer. Fügte es hinzu und jetzt funktioniert es gut.
Olav Gausaker
1

Ich habe das gleiche Problem in xcode 9 abgerufen.

kreuzen Sie einfach die Zielmitgliedschaft an

Geben Sie hier die Bildbeschreibung ein

Mitesh Jadav
quelle
1

Ich habe mir stundenlang die Haare über dieses Problem gezogen und keine der Lösungen in diesem Thread hat funktioniert. Das Problem war letztendlich, dass die Xcode-Projektdateien in einem Google Drive-Dateistream gespeichert wurden. Sobald ich es auf das lokale Laufwerk oder iCloud verschoben habe, hat es einwandfrei funktioniert.

TheGodric
quelle
1

Wenn Sie in die Storyboard-Datei schauen, sehen Sie ein Fragezeichen auf einem der Bilder imageView(siehe UIButtonAbbildung unten) oder Bildern.
Korrigieren Sie es einfach und die Warnung wird weg sein.

ungültiges Bild in imageView

Hoffe das hilft

Haseeb Javed
quelle
1

Für diejenigen, die diesen Fehler beim Entwickeln eines Cocoapod erhalten

Ich habe versucht, ein Bild aus dem Paket meines Pods, das sich in einer .xcassets-Datei befindet, im Storyboard zu verwenden. Es würde gut im Storyboard angezeigt werden, aber wenn ich die App ausführte, stürzte es ab und sagte, dass es die Ressource nicht finden kann.

Ich habe meine Podspec so geändert, dass sie s.resourcesauch enthälts.resource_bundles

s.resource_bundles = {
  'SDKRes' => ['SDK/Assets/*']
}

s.resources = ['SDK/Assets/*.{xcassets}']

Dann konnte die Ressource ordnungsgemäß aus dem Storyboard geladen werden

Fonix
quelle
0

Ich vermute, dass Sie ein Bild haben, Project Setting->Build Phases->Copy Bundle Resourcesdas seinen Bezug verliert und in roter Textfarbe erscheint. Entfernen Sie dieses Bild von dort und fügen Sie es erneut hinzu.

Dies geschieht häufig, weil die Bilddatei nach dem Hinzufügen in ein Projekt verschoben wird, in dem das Bild als Referenz anstelle einer Kopie hinzugefügt wurde.

Möglicherweise kann dies Ihr Problem beheben.

NeverHopeless
quelle
0

Urughhh. Ich habe versucht, dies mit allen oben genannten Lösungen zu beheben, aber nichts hat funktioniert. Was schließlich funktionierte war:

  1. Löschen Sie das Bild aus Ihrem Projekt und wählen Sie In den Papierkorb verschieben
  2. Projekt reinigen
  3. Schließen Sie XCode und starten Sie es neu
  4. Benennen Sie Ihren Bilddateinamen so um, dass er nicht dem vorherigen Namen entspricht
  5. Fügen Sie Ihrem Projekt ein neues Bild hinzu
B-Geld
quelle
0

Ich hatte das gleiche Problem. Ich löste es, indem ich den Ordner löschte und erneut erstellte und alle Bilder hinter mir ließ. Dann fügte ich erneut eine Referenz hinzu.

Shoaib
quelle
0

Basierend auf dem, was @hstdt oben gepostet hat, dachte ich, ich sollte überprüfen, ob mein Bild ein Dateityp ist, der keine Fehler enthält. ( https://stackoverflow.com/a/44558948/6804257 )

Ich habe ein .gif. Ich habe dieses Bild losgeworden und stattdessen ein verwendet .png. Jetzt funktioniert es.

Jacob F. Davis C-CISO
quelle
0

Hatte das gleiche Problem und keine dieser Antworten funktionierte für mich. Stattdessen habe ich den Mac und das iPhone, mit denen ich gearbeitet habe, neu gestartet und dann hat alles wieder gut funktioniert. 🤷‍♂️

jcarlos276
quelle
0

Mein Fall war etwas anders. Ich habe ein altes IBDesignableElement verwendet, das die Eigenschaft hatte, ein Bild direkt aus dem Storyboard zu erstellen. Da dieses Element alt, versteckt und unbenutzt war, waren die Bilder, die es hatte, nicht in meinem Assets-Ordner vorhanden.

Jetzt kann Xcode dieses Bild nicht mehr durchsuchen, da es sich nicht mehr im Projekt befindet. Wenn Sie jedoch im Finder in Ihrem Projekt suchen, finden Sie das, XIB/Storyboardin dem es erwähnt wird. Von dort aus können Sie es manuell finden, indem Sie XIB oder Storyboard als Quellcode öffnen und suchen. Einmal gefunden, ersetzen Sie sie entweder durch ein neues Bild oder entfernen Sie das nicht verwendete Element.

nr5
quelle
0

Mein Fall ist der Unterschied. Ich habe mehr einen Assets-Ordner. Also habe ich den falschen hinzugefügt. Einfach entfernen und rechts hinzufügen.

Cường Nguyễn
quelle