2012-06-08 14 views
54

Sto eseguendo la riga di comando xcodebuild utilizzando uno script di shell. Il mio problema è se apro e chiudo il file xx.xcodeproj una volta e poi uso quel comando funziona bene.Il file project.xcworkspace è importante?

In qualche modo se riesco a penetrare in profondità nelle modifiche del file, questo project.xcworkspace è l'unico file che è stato modificato. Questo file è valido e dovrei controllarlo nel controllo della versione? Ciò causerà problemi?

Ho sentito dire che è importante quanto lo .pbxproj: è vero?

Non sono riuscito a trovare alcuna documentazione valida che parli dei ruoli e delle responsabilità di vari file nei file di progetto xcode. Si prega di fornire collegamenti che mi aiutano a capirlo.

risposta

89

project.xcworkspace è una directory di file che descrive lo spazio di lavoro oi progetti. Anche se alcune delle risposte qui indicate indicano che non è necessario e dovrebbero essere ignorate per il controllo del codice sorgente, non sono d'accordo, ma dipenderà molto da come utilizzi il tuo ambiente. In genere, il contenuto della directory project.xcworkspace contiene il file contents.xcworkspacedata, che elenca i progetti inclusi come entità di primo livello nel progetto, una directory xcuserdata, che contiene le impostazioni di ciascun utente (deve essere ignorata per il controllo del codice sorgente) e xcshareddata , che sono dati condivisi dagli utenti che condividono un progetto e che dovrebbero essere sotto il controllo del codice sorgente.

In ambienti in cui non si condividono spazi di lavoro o dove si utilizzano spazi di lavoro semplici, è possibile ignorarli, tuttavia in ambienti in cui si inseriscono progetti correlati nello stesso spazio di lavoro e si condivide tale configurazione, è possibile che si desideri tieni questi.

+6

Il file project.xcworkspace viene creato se si utilizzano Cocoa Pods (installazione pod). Crea uno spazio di lavoro per i pod e avrai bisogno di aprire il file project.xcworkspace invece del file di progetto andando avanti se vuoi ciò che hai appena installato tramite Pod. – LevinsonTechnologies

+6

@LevinsonTechnologies L'OP si riferisce a una sottocartella _con la cartella di primo livello 'Foobar.xcodeproj' del progetto. Quella sottocartella è _literalmente_ chiamata 'project.xcworkspace'. La cosa che CocoaPods crea e a cui ti stai riferendo è un'altra cartella _top-level_ denominata 'Foobar.xcworkspace' che esiste allo stesso livello di' Foobar.xcodeproj'. Non confondere le due cose! La mia ipotesi è che Xcode abbia sempre bisogno di uno spazio di lavoro e che la sottocartella sia una sorta di area di lavoro "nascosta" che Xcode crea e mantiene dietro le quinte per te, purché tu lavori solo con .xcodeproj. – herzbube

Problemi correlati