2011-01-03 15 views

Antwort

7

Die Ordner in einem Xcode-Bundle sind "Gruppen". Das heißt, sie sind keine tatsächlichen Verzeichnisse. Die Dateien in diesen Gruppen befinden sich immer noch im Stammverzeichnis des Bundles.

Also, zwei (oder mehr) Dateien mit dem gleichen Namen im App-Bundle ist unmöglich.

See: http://majicjungle.com/blog/?p=123

Das Problem mit Gruppen:

Die Verzeichnisstruktur verloren geht, wenn es den iphone app kopiert wird, und so in Ihrem App-Bundle ist nur eine große Liste alle Ihre Ressourcen in der Basis Verzeichnis. Als Folge davon werden doppelte Dateinamen zu einem Problem. Wenn Dateien in Ihrem Verzeichnis Struktur auf der Festplatte den gleichen Dateiname enthalten, wird der Build-Prozess im Hintergrund alles verschraubt. Es scheint "erste in gewinnt", mit nur einer der Ressourcen, die es in die App Bundle. Es ist also nicht gut, wenn Sie eine Bundle von verschiedenen Level-Pakete jede mit einer anderen 'Terrain.png' Datei haben.

Wenn Sie Ihre Verzeichnisstruktur verwalten, indem Sie Ordnerverweise erstellen, wird das Problem doppelter Dateinamen behoben. Das Abrufen der Dateien ist jedoch das Problem.

Was können Sie tun, ist die NSBundle Klasse verwenden:

[[[NSBundle mainBundle]resourcePath]stringByAppendingPathComponent:@"path/to/file.jpg"] 
+0

ah, wenn ich Dateien in das Projekt ich sie hinzufügen können „rekursiv erstellen Gruppen für alle hinzugefügten Ordner“ und „Ordner erstellen Referenzen für die Verwendung von alle hinzugefügten Ordner ". Wenn ich die zweite Option verwende, kann ich möglicherweise zwei Dateien mit demselben Namen haben. Wunder, wenn ich "imageNamed" auf Dateien verwenden kann, die auf diese Weise hinzugefügt wurden – eugene

+0

Siehe meine Ergänzung. –

+0

immer noch es zu lesen, aber sieht aus wie es ist genau das, was ich brauchte – eugene

Verwandte Themen