2013-05-09 11 views
16

Ich bin etwas verwirrt darüber, was mit dem Befehlszeilentool xcodebuild passiert, wenn Sie einen Arbeitsbereich und ein Schema angeben.xcodebuild Arbeitsbereich und Schema

Ich verstehe, wie ein konfiguriertes Schema in der XCode IDE GUI funktioniert. Die Build-Aktion listet die zu erstellenden Ziele auf und für jede Aktion (Analysieren, Testen, Ausführen, Profil, Archivieren) wählen Sie aus, für welche die Build-Aktion ausgeführt werden soll.

Also, wenn ich jede Aktion (Analyse, Test, Ausführen, Profil, Archiv) in der Build-Aktion für den Aufbau ausgewählt haben, was passiert, wenn ich den folgenden Befehl ausführen.

xcodebuild clean install -workspace MyWorkspace.xcworkspace -scheme MyScheme 
-configuration AdHoc SYMROOT=PATH DSTROOT=PATH... 

Es sucht nach MyScheme.xcscheme im Haupt xcodeproj, die diese Konfiguration alle angegeben hat, wenn das System in XCode bearbeiten.

Was liest xcodebuild von dieser Datei? Erstellt es nur das konfigurierte Ziel mit der AdHoc-Konfiguration und ignoriert alles andere?

Antwort

11

Sie sind fast da, aber Ihre Syntax ist ein bisschen aus. Nach dem man page:

xcodebuild -workspace workspace -Schema scheme [-Konfiguration configuration] [-SDK [sdkfullpath | sdkname]] [Buildaction ...] [Einstellung = Wert ...] [-userdefault = Wert ...]

Wo Buildaction eine der folgenden ist:

Buildaction .. Geben Sie eine Build-Aktion (oder Aktionen) an, die auf dem Ziel ausgeführt werden sollen. Erhältlich Build Aktionen sind:

 build  Build the target in the build root (SYMROOT). This is the default build action. 

     archive  Archive a scheme from the build root (SYMROOT). This requires specifying a scheme. 

     test  Test a scheme from the build root (SYMROOT). This requires specifying a scheme. 

     installsrc Copy the source of the project to the source root (SRCROOT). 

     install  Build the target and install it into the target's installation directory in the dis- 
        tribution root (DSTROOT). 

     clean  Remove build products and intermediate files from the build root (SYMROOT). 

In der Xcode IDE, wählen Sie die Buildaction durch das Produktmenü ausgeführt werden, oder durch Klicken und den runden Knopf auf der linken oberen Ecke des IDE (Run = Play-Dreieck Halte , Test = Schraubenschlüssel-Symbol, usw.).

Beachten Sie auch , wo xcodebuild Ihr Build-Schema sucht - es kann entweder in Ihrem .xcproj ODER in Ihrer .xcworkspace-Datei sein, je nachdem, welche Sie erstellt haben. (Wenn Sie einen Arbeitsbereich nicht manuell erstellt haben, haben Sie eine .xcproj-Datei).

Sie können auch feststellen, welche Schemata Sie über Ihre Einstellung 'Schemata verwalten' in Xcode haben.

+0

Also, wenn ich Build als die Build-Aktion angeben, wird es auf das Schema schauen konfiguriert, um die Build-Konfiguration wie Debug/Release? –