2014-04-26 11 views
7

Ho due immagini in diverse cartelle di NSBundle aventi lo stesso nome. Emette ovviamente un avvertimento:Stesso nome di due immagini in diverse cartelle di NSBundle

Attenzione: più comandi di compilazione per il file di output /Users/xxxxxXXXXXXXxxxxxxx.app/image.png

so che NSBundle => In NSBundle tutte le cartelle sono "gruppi", non le directory effettive e quei file in questi gruppi si trovano ancora nella radice del pacchetto.

Nella mia applicazione, ho bisogno di avere immagini con lo stesso nome in diverse "cartelle" per facilitare il mio compito.

Quindi le mie domande sono:

  • Esiste un modo per tenere due immagini in un'altra cartella di NSBundle senza alcun preavviso? E anche come posso recuperarlo?

  • Se non ci sono problemi con questo avviso quando carico la mia app su App Store? Voglio dire, la mia app verrà rifiutata da Apple o no?

+0

signore si prega di verificare: - http://stackoverflow.com/questions/3692352/adding-multiple-resources-with-the-same-name-to-xcode-for-iphone –

+0

@NitinGohel - grazie sir Lo so già ... ma c'è un modo per risolverlo? per favore leggi la mia domanda e anche grazie amico per dare la tua attenzione. :) –

+0

@NitinGohel - signore, mettilo come risposta, quindi lo accetto :) –

risposta

3

Eccolo un link molto bello per fare questo compito si prega di controllare questo Xcode Groups vs. Folder References che descrivono chiaramente su di esso

Gruppi

  • La dimensione e la complessità del file di progetto sottostante (project.pbxproj) possono crescere in modo significativo, soprattutto con bersagli multipli. Ogni nuovo obiettivo deve duplicare tutti i riferimenti. È inoltre necessario ricordare di impostare l'appartenenza di destinazione appropriata per ciascun file. Inoltre, esiste una maggiore probabilità di conflitti di unione SCM dovuti al file di progetto più ampio e complesso.

  • I gruppi possono non avere alcuna somiglianza con la gerarchia di cartelle sul disco. Puoi avere cartelle di progetto nel Finder che non esistono nemmeno nel progetto Xcode e viceversa. A causa della mancata corrispondenza, la localizzazione dei file può creare confusione

  • Se si sposta un file o lo si rinomina al di fuori di Xcode, il riferimento si interrompe e il file diventa rosso. La gestione dei file diventa un vero dolore.

cartella Riferimenti

I vantaggi di riferimenti delle cartelle sono:

  • Xcode memorizza solo un riferimento alla cartella. Tutti i suoi file e sottocartelle vengono automaticamente aggiunti al progetto. Ciò mantiene il file di progetto più piccolo e più semplice, con meno possibilità di unire conflitti.

  • Se si rinomina, elimina o sposta un file nel file system, Xcode aggiorna automaticamente il riferimento alla cartella per riflettere la modifica. La gestione dei file è quindi molto più semplice. Poiché la gerarchia delle cartelle nel progetto corrisponde alla gerarchia sul disco, esse non divergono nel tempo e causano confusione.

  • Non ci si deve preoccupare dei conflitti di nomi perché la struttura di directory è conservata nel pacchetto di prodotti. Due file possono condividere lo stesso nome se vivono in directory diverse.

2

Hai cartella: immagini. Cambialo in bundle rinominandolo in: images.bundle. Trascina questo al progetto e:

Hai:

images.bundle --- folder1 --- image1.png   
       --- folder2 --- image1.png 
       --- folder3 --- image1.png 

Si ottiene serie di cartelle, dopo cartella otterrà vuole, è possibile ottenere un'immagine che si desidera:

NSString *path = [[NSBundle mainBundle] bundlePath]; 
path = [path stringByAppendingString:@"/images.bundle"]; 
NSError *error; 
NSArray * directoryContents = [[NSFileManager defaultManager] contentsOfDirectoryAtPath:path error:&error]; 
Problemi correlati