2012-06-08 13 views
54

Robię xcodebuild z wiersza polecenia przy użyciu skryptu powłoki. Mój problem polega na tym, że raz otwieram i zamykam plik xx.xcodeproj, a następnie używam tego polecenia, które działa dobrze.Czy plik project.xcworkspace jest ważny?

Jakoś, jeśli głęboko zagłębiam się w zmiany pliku, ten project.xcworkspace jest jedynym plikiem, który się zmienił. Czy ten plik jest prawidłowy i czy powinienem go sprawdzić w kontroli wersji? Czy spowoduje to problemy?

Słyszałem, że jest tak samo ważny jak .pbxproj: czy to prawda?

Nie mogłem znaleźć żadnej ważnej dokumentacji, która mówi o roli i odpowiedzialności różnych plików w plikach projektu xcode. Proszę podać linki, które pomogą mi to zrozumieć.

Odpowiedz

89

project.xcworkspace to katalog plików opisujących obszar roboczy lub projekty. Chociaż niektóre z odpowiedzi wskazują, że jest to niepotrzebne i należy je zignorować podczas kontroli źródła, nie zgadzam się, ale będzie to w dużym stopniu zależało od tego, w jaki sposób korzystasz ze swojego środowiska. Ogólnie zawartość katalogu project.xcworkspace zawiera plik contents.xcworkspacedata, który zawiera listę projektów uwzględnionych w projekcie jako elementy najwyższego poziomu, katalog xcuserdata, który zawiera ustawienia każdego użytkownika (powinien zostać zignorowany w przypadku kontroli kodu źródłowego) i xcshareddata , które są danymi udostępnianymi przez użytkowników współużytkujących projekt i powinny być pod kontrolą źródła.

W środowiskach, w których nie udostępniasz obszarów roboczych lub w których używasz prostych obszarów roboczych, możesz je również zignorować, jednak w środowiskach, w których umieszczasz powiązane projekty w tym samym obszarze roboczym i udostępniasz tę konfigurację, możesz chcieć zatrzymaj te.

+6

Plik project.xcworkspace zostanie utworzony, jeśli używasz kapsułek Cocoa (instalacja pod). Tworzy przestrzeń roboczą strąków i musisz otworzyć plik project.xcworkspace zamiast pliku projektu przesuwając się do przodu, jeśli chcesz zainstalować to, co właśnie zainstalowałeś za pomocą podpórek. – LevinsonTechnologies

+6

@LevinsonTechnologies OP odnosi się do podfolderu, który znajduje się w folderze najwyższego poziomu "Foobar.xcodeproj" projektu. Ten podfolder jest _ponownie nazwany 'project.xcworkspace'. To, co tworzy CocoaPods i do którego się odnosisz, to kolejny folder _top-level_ o nazwie 'Foobar.xcworkspace', który istnieje na tym samym poziomie co' Foobar.xcodeproj'. Nie mylić dwóch rzeczy! Domyślam się, że Xcode zawsze potrzebuje przestrzeni roboczej, a podfolder to jakaś "ukryta" przestrzeń robocza, którą Xcode tworzy i utrzymuje za kulisami tak długo, jak długo pracujesz tylko z .xcodeproj. – herzbube

Powiązane problemy