wake-up-neo.com

So ändern Sie das Ausgabeverzeichnis für ein Ziel

Ich verwende einen Arbeitsbereich, in dem ich ein Hauptanwendungsprojekt und dann ein statisches Bibliotheksprojekt habe, das von der Hauptanwendung verwendet wird. Ich möchte, dass das statische Bibliotheksprojekt libX.a in das Haupt-App-Projektverzeichnis spuckt, weil ich diese libX.a in mein Git-Repo-Laufwerk verschieben möchte. 

Die Änderung der Build-Pfad-Einstellungen für das static-lib-Projekt sollte auf das eigene git-Repo übertragen werden, damit andere Benutzer sich nicht immer wieder mit dieser Änderung befassen müssen.

Ich habe versucht, 'Build Products Path' in "$ (SRCROOT) /../ SharedData" für das statische mt-Ziel von mt zu ändern, aber es hat keine Auswirkungen.

Vielen Dank!

47
Kuldeep Kapade
  1. Gehen Sie zu Datei -> Projekteinstellungen. 

  2. Klicken Sie unter Abgeleiteter Datenstandort auf die Schaltfläche Erweitert. Unter Build location select custom und wählen Sie Ihr Ausgabeverzeichnis. Dieser Wille Ändern Sie die Variable $ (BUILD_DIR) in das, was Sie in diesem Feld festlegen.

  3. Klicken Sie auf "Fertig" und gehen Sie zu Ihren Zieleinstellungen. Unter Build Location können Sie Jetzt kann angegeben werden, wo die Ziele basierend auf diesem ausgegeben werden sollen $ (BUILD_DIR) -Makro.

45
Jeff Sternberg

Aktualisierte Anweisungen für Xcode 5 bis 6.3.

  1. Go to File -> Project settings
  2. Click the Advanced button
  3. Select "Custom" and select "Relative to Workspace" in the pull down
  4. click done, done

Und du bist fertig!

37
gp-coder

Hier ist eine Lösung, die Sie in die Quellcodeverwaltung einchecken können und die ich mit Xcode 6.2 getestet habe.

  1. Fügen Sie Ihrem Projekt eine .xcconfig-Datei hinzu - siehe diese SO -Frage für Details.
  2. Geben Sie in der Datei .xcconfig die Xcode-Standardumgebungsvariablen PROJECT_TEMP_DIR, CONFIGURATION_BUILD_DIR und BUILT_PRODUCTS_DIR an, um anzugeben, wo die Dateien gespeichert werden sollen.

Beim Lesen des Referenzcodes für das xcconfig-Format von Apple würde es den Anschein haben, dass einfach OBJROOT und SYMROOT in der .xcconfig-Datei überschrieben würden - aber in meinen Tests mit Xcode 6.2 hat das Ändern dieser Einstellungen keine Auswirkung. Sie müssen diese drei oben aufgeführten spezifischen Umgebungsvariablen ändern.

Dies ist, was ich in eine Xcode 6.2 .xcconfig-Datei stecke, so dass zwischengeschaltete Dateien und ausführbare Dateien an ihren "traditionellen" Speicherorten abgelegt werden:

// Intermediate build files go here
PROJECT_TEMP_DIR = $(SRCROOT)/build/$(PROJECT_NAME).build

// Build-related files for the active build configuration go here
CONFIGURATION_BUILD_DIR = $(SRCROOT)/build/$CONFIGURATION

// The final product executables and other build products go here
BUILT_PRODUCTS_DIR = $(SRCROOT)/build/$CONFIGURATION
24
Bob Murphy

Laut @ gp-coder folgt das Szenario für xcode 9. * Folgen Sie dem im Bild angegebenen Schritt

 enter image description here  enter image description here  enter image description here

Und erledigt

Das ist alles, danke

6
Abhishek Mitra

Wenn Sie den Erstellungspfad Ihres Projekts ändern möchten, können Sie die folgenden Schritte verwenden.

1) Wählen Sie Xcode> Voreinstellungen und klicken Sie auf Standorte.

2) Klicken Sie auf die Schaltfläche Erweitert für die Einstellung Abgeleitete Daten.

3) Wählen Sie einen Erstellungsort aus den verfügbaren Optionen aus und klicken Sie auf Fertig.

ex. Wenn Sie "Benutzerdefiniert" aus der Option Build Location auswählen, wird Ihr Build unter "/ Users/XYZ/Desktop/Build/Products" Location erstellt

4
Hardik Thakkar

In Xcode 8.x stelle ich das abgeleiteteData-Verzeichnis mit einer Befehlszeilenoption in einer .sh-Datei ein, die das Projekt erstellt. Entwickler können in ihre Benutzerverzeichnisse einbauen (Standardeinstellung für Xcode), während der offizielle Build den Build im traditionellen Bereich erstellt:

SCRIPT_DIR = "$ (cd" $ (dirname "$ {BASH_SOURCE [0]}") "&& pwd)"

xcodebuild -workspace 'mein Projekt.xcworkspace' -scheme 'mein Projekt' -Konfiguration Freigabe -derivedDataPath '$ SCRIPT_DIR/build'

1
DaveSawyer

Sie können dies auch tun, indem Sie Build Locations> Pro-Configuration Build Products Path in den Build-Einstellungen Ihres Ziels bearbeiten . enter image description here

0
Julius Naeumann