2008-12-03 5 views
43

Ich habe ein Xcode Projekt mit der folgenden Gruppenstruktur:Wie bekomme ich Xcode, um die Projektgruppenstruktur in der Ordnerstruktur auf der Festplatte zu replizieren?

ProjectName/ 
    Classes/ 
     class1.h 
     class1.m 
     class2.h 
     class2.m 
     ... 
    XMLDocs/ 
     doc1.xml 
     doc2.xml 
     ... 
    Resources/ 
     Info.plist 
     MainMenu.xib 
     ... 

und so weiter und so fort.

ProjectFolder/ 
    Project.xcodeproj 
    Classes/ 
     class1.h 
     class1.m 
     class2.h 
     class2.m 
     ... 
    XMLDocs/ 
     doc1.xml 
     doc2.xml 
     ... 
    Resources/ 
     Info.plist 
     MainMenu.xib 
     ... 

zum üblichen alles im Stammordner des Projektes Methodik Gegensatz:

ich dies möchte auch in der Ordnerstruktur auf der Festplatte dargestellt werden.

Gibt es eine Möglichkeit, dies zu tun, ohne manuell die Ordnerstruktur auf der Festplatte zu erstellen und dann die gesamte Referenz in Xcode an den neuen Speicherort zu verweisen?

Bonuspunkte, wenn Sie mir sagen können, wie ich das automatisch mache, wenn ich eine neue Gruppe erstelle oder Dateien zu einer bestehenden Gruppe in Xcode hinzufüge.

+0

Ich wollte das schon seit Ewigkeiten machen. Nur noch eine andere einfache Sache, mit der Xcode nicht umgehen kann. Zumindest weiß ich jetzt, dass die Funktionalität nicht sicher existiert. Danke für eine tolle Frage! –

+0

Eigentlich gibt es einen Weg - https://github.com/venmo/synx – ULazdins

Antwort

0

In Xcode gibt es keine Funktion "Meine Festplatte wie meine Projektstruktur aussehen".

Sie könnten die Aufgabe jedoch mit AppleScript automatisieren: Sie können die Projektstruktur von einem Skript aus untersuchen und ändern. Sie müssten also nur ein Skript schreiben, das über die Projektstruktur iteriert und die Ordnerhierarchie so aussehen lässt, wie die Projektstruktur es tut, und anpassen, wo Xcode's Datei- und Gruppenreferenzen gleichzeitig zeigen.

11

Eine Ordnerreferenz ist was Sie wollen. Beim Ziehen oder Hinzufügen von Dateien zum Projekt gibt es die Option "Ordnerverweise für alle hinzugefügten Ordner erstellen". Wählen Sie das aus und Sie erhalten das von Ihnen gewünschte Verhalten.

alt text http://img.skitch.com/20081203-prtxsp7c36ern4afxxdixy93sq.png

Sie könnten versuchen, den gesamten übergeordneten Ordner des Projekts als Ordner Verweis hinzufügen. Das sollte alles bekommen. Oder fügen Sie Referenzen für "Klassen" "Ressourcen" und "XML" einzeln hinzu.

+0

Danke, das hilft beim Hinzufügen von zukünftigen Elementen, aber gibt es eine Möglichkeit, die vorhandenen Gruppen in Ordner umzuwandeln? –

+0

Sie erhalten diese Option nur beim Ziehen von Dateien, die beim Hinzufügen neuer Dateien nicht verfügbar sind. – TheLearner

+0

Dies ist eine großartige Lösung zum Hinzufügen von Ressourcen. Sie haben vielleicht den blauen Ordner 'www' in PhoneGap bemerkt. Fügen Sie einfach etwas zu diesem Ordner hinzu und es wird Ihrem Projekt hinzugefügt. Wenn Sie jedoch im Abschnitt "Build-Phasen" Ihres Projekts auf "Bundle-Ressourcen kopieren" klicken, werden Sie feststellen, dass dort nur der Ordner angezeigt wird, nicht aber dessen Inhalt. Um zum Inhalt Ihres referenzierten Ordners zu gelangen, müssen Sie den Pfad der gewünschten Ressource mit dem Namen Ihres hinzugefügten Ordners verknüpfen: NSURL * htmlURL = [[NSBundle mainBundle] URLForResource: @ "mypage" withExtension: @ "html" -Unterverzeichnis: @ "www"]; – aeldron

57

Sie können dies in gewissem Umfang tun! Es gibt nur eine zusätzlichen Schritt jedes Mal, wenn eine neue Gruppe (und das erste Mal, werden Sie eine Menge Aufholbedarf zu tun haben!) Zu tun:

Xcode location setting

Jedes Mal, wenn Sie eine Gruppe in Xcode erstellen, Wählen Sie es sofort und öffnen Sie die rechte Seitenleiste. Beachten Sie die Einstellung "Ort:" direkt unter dem Namen. Klicken Sie auf das Ordnersymbol neben "Keine" und legen Sie es auf einen neuen Ordner mit demselben Namen fest.

Wenn Sie nun Dateien zur Gruppe hinzufügen, werden sie zum entsprechenden Ordner auf der Festplatte weitergeleitet. Umwerben!

Leider haben Sie zu dieser Anfangszeit eine Menge Datei-Moving zu tun. (Wenn Sie die Gruppenpfade ändern, werden alle Ihre Dateien rot angezeigt, da Xcode im neuen Ordner nach ihnen sucht. Sie müssen sie manuell aus dem Finder verschieben, um sie zu reparieren.) Es gibt jedoch einen Befehl -line-Tool, um diese anfängliche Migration für Sie durchzuführen: https://github.com/venmo/synx

+1

Get Info hat Xcode 4 (wie oben beschrieben) verschoben - versucht zu finden, wo :( – theiOSDude

+0

Ich habe dies versucht, aber kann dies nicht in Xcode4 replizieren. Haben Sie auch eine Lösung für XC4? – sandstrom

+0

Xcode 4 Lösung hinzugefügt. – andyvn22

0

Xcode9 löst dieses Problem. Standardmäßig wird eine neue Gruppe mit dem entsprechenden Ordner auf der Festplatte erstellt.