2012-07-26 12 views
13

Beim Ausführen meines Projekts habe ich diese Fehlermeldung erhalten.Wie kann ich herausfinden, welche XIB-Datei das Bild verwendet?

Could not load the "bs_back_light.png" image referenced from a nib in the bundle with identifier "com.xxxxxxx.new" 

Ich benutze die Bilddatei nicht mehr, so will ich das Bild löschen in xib Datei verweist. Das Projekt hat jedoch viele XIB-Dateien und es ist sehr schwierig, eine XIB-Datei zu finden, die auf das Bild verweist. Wenn es Quelldatei ist, würde ich Suchen in Arbeitsbereich (Umschalt + Befehl + F) verwenden, aber XIB-Dateien nicht suchen.

Wie die Bildreferenzierung von Xib (Nib) Dateien zu suchen?

Ich verwende Xcode Version 4.3.3 (4E3002)

+0

Versuchen zu verwenden Finder suchen. –

+0

check alle UIbutton und UIImageView-Schnittstelle in allen xib der Anwendung, die Image-Eigenschaft hat Sie können Image-Namen, die Sie entfernen müssen, die enthält bs_back_light.png als Bild-Name –

Antwort

21

Ich hatte das gleiche Problem und ich löste mit einigen Konsolenbefehlen. Open Terminal auf Ihrem Mac und diesen Befehl ausführen.

grep -i -r --include = * xib "bs_back_light.png"/Ihr/Projekt/path

Es im Pfad suchen „/ Ihr/Projekt/Pfad "und wird den vollständigen Pfad aller Dateien Xib, die das Bild" bs_back_light.png "verwenden.

Hoffe, das wird Ihnen helfen!

0

Suchen Sie es in Ihrem AppTarget: Build-Phasen - Compile Sources. Wenn Sie gefunden haben - löschen Sie es :)

3

Ich schrieb eine Bash-Funktion basierend auf Marcos Antwort, so dass ich nicht immer wieder auf diesen Post verweisen müsste. Werfen Sie es einfach in Ihr Bash-Profil, und Sie können es über die Befehlszeile in Ihrem Projektverzeichnis wie "grep_xib UIButton" ausführen, die alle Ihre * .xib-Dateien nach Instanzen von "UIButton" durchsuchen würde. Ich dachte nur, ich würde es teilen, falls jemand anderes das nötig haben sollte.

function grep_xib { 
    grep -i -r --include=*.xib "$1" . 
} 
+0

Sehr nützlich, danke! –

1

können Sie xCode verwenden in Arbeitsbereich finden (Shift + Befehl + F) jetzt von Version 6.x und höher, es ist jetzt sucht xib und Storyboard-Dateien. Weitere Informationen finden Sie im Abschnitt "Schnittstellenerstellung" unter Xcode 6.0 Release.

Dank Anna comment in einer ähnlichen Frage auf Projektverzeichnis

+0

ausgezeichnet. Daher müssen wir den Terminalkommando nicht mehr verwenden, um etwas in XIB oder Storyboard zu suchen. – Joey