webentwicklung-frage-antwort-db.com.de

Xcode 4 - Ausgabeverzeichnis erstellen

Ich habe Probleme beim Einrichten/Auffinden meiner Ausgabedateien in Xcode4 (Beta 5). Sie befinden sich irgendwo in ~/Library/Developer/ugly_path/.... Ich kann nicht einmal "Im Finder anzeigen" für meine Produkte auswählen. Dies gilt auch für ein einfaches C-Projekt, ein Foundation-Tool und sogar für das Cocoa-Bundle. Ein Debugging funktioniert einwandfrei.

Könnten Sie mich bitte darauf hinweisen, wo und wie Ausgabeverzeichnisse einzurichten/aufzubauen sind? (Ich weiß, es klingt dumm, ich habe seit Monaten in Xcode3 programmiert, aber ich kann es in der Xcode4-Beta nicht herausfinden).

Danke vielmals.

216
kubbing

Klicken Sie oben im Xcode-Menü auf "Einstellungen", wählen Sie die Registerkarte "Speicherorte" aus und überprüfen Sie die Option für den Speicherort.

Sie haben 2 Möglichkeiten:

  1. Platzieren von Build-Produkten an einem Speicherort abgeleiteter Daten (empfohlen)
  2. Platzieren Sie Bauprodukte an Orten, die von Zielen vorgegeben werden

Update: Auf xcode 4.6.2 müssen Sie auf die erweiterte Schaltfläche rechts unterhalb des abgeleiteten Datentextfelds klicken. Build Location Legacy auswählen.

341
the Reverend

Wenn Sie über die Befehlszeile erstellen, können Sie das Ausgabeverzeichnis folgendermaßen festlegen:

xcodebuild -workspace 'WORKSPACE_NAME.xcworkspace' \
           -scheme 'SCHEME_NAME' \
           -configuration 'Release' \
           -sdk iphoneos7.0 CONFIGURATION_BUILD_DIR='OUTPUT_DIRECTORY'
140
Igor

In Xcode 5: Xcode menu> Preferences ... item> Locations tab> Locations sub-tab> - Erweitert ... Taste> Benutzerdefiniert Option.

Wählen Sie dann beispielsweise Relativ zum Arbeitsbereich.

29
Grumdrig

Wenn Sie für den Xcode 4-Build-Speicherort die Einstellung "Build-Produkte an einem Speicherort für abgeleitete Daten ablegen (empfohlen)" festgelegt haben, sollte er sich in ~/Library/Developer/Xcode/DerivedData befinden. In diesem Verzeichnis befindet sich Ihr Projekt als Verzeichnis Der Projektname wird mit einer Reihe generierter Buchstaben versehen. Schauen Sie also genau hin.

13
bxiong

Behalten Sie abgeleitete Daten bei, verwenden Sie jedoch DSTROOT, um das Ziel anzugeben.

Verwenden Sie DEPLOYMENT_LOCATION, um die Bereitstellung zu erzwingen.

Verwenden Sie den undokumentierten DWARF_DSYM_FOLDER_PATH, um das dSYM ebenfalls zu kopieren.

Auf diese Weise können Sie die abgeleitete Datenposition von xcodebuild verwenden und müssen keine verrückten Aufgaben ausführen, um die App zu finden.

xcodebuild -sdk "iphoneos" -workspace Foo.xcworkspace -scheme Foo -configuration "Debug" DEPLOYMENT_LOCATION=YES DSTROOT=tmp DWARF_DSYM_FOLDER_PATH=tmp build
10
Gabriel

Sie können das Erstellungsverzeichnis immer finden, indem Sie im Erstellungsprotokoll-Viewer nachsehen und den Pfad dorthin in ein Terminalfenster kopieren.

Ich verwende dies, um meine iOS .app-Bundles zu analysieren, bevor sie installiert werden, um sicherzustellen, dass keine Streudateien enthalten sind.

8
radven

Führen Sie die folgenden Schritte aus, um eine Liste aller Buildeinstellungen zu erhalten, die auf einen Ordner in DerivedData verweisen:

xcodebuild -showBuildSettings | grep DerivedData

Wenn Sie benutzerdefinierte Ziele und Schemata ausführen, fügen Sie diese ebenfalls hinzu:

xcodebuild -workspace "Foo.xcworkspace" -scheme "Bar" -sdk iphonesimulator -configuration Debug -showBuildSettings | grep DerivedData

Sehen Sie sich die Ausgabe an, um die gewünschte Einstellungsausgabe zu finden, und gehen Sie dann wie folgt vor:

xcodebuild -showBuildSettings | grep SYMROOT | cut -d "=" -f 2 - | sed 's/^ *//'

Der letzte Teil schneidet die Zeichenfolge am Gleichheitszeichen und schneidet dann das Leerzeichen am Anfang.

Wenn Sie die neuen Xcode4-Arbeitsbereiche verwenden, können Sie den Speicherort für abgeleitete Daten unter Datei -> Arbeitsbereichseinstellungen) ändern ...

2
DaGaMs
1
Heath Borders

Eine andere Sache, die Sie überprüfen müssen, bevor Sie mit den Xcode-Einstellungen spielen, ist:

Wählen Sie Ihr Ziel aus und gehen Sie zu Build-Einstellungen> Verpackung> Wrapper-Erweiterung

Der Wert sollte dort sein: app

Wenn nicht, doppelklicken Sie darauf und geben Sie "app" ohne die qoutes ein.

0
hasan