2014-09-05 25 views
13

Ich benutze das xcode plugin. Ich hatte mich umgesehen, aber die meisten "Lösungen" funktionierten nicht.Xcodebuild schlägt in jenkins mit cocoapods fehl

Mein Hauptproblem ist, dass in dem xcworkspace, der generiert wird, gibt es kein Schema für das Projekt, das ich versuche zu erstellen. Das Plugin führt den Befehl

$ /usr/bin/xcodebuild -list -workspace Project.xcworkspace

und die Ausgabe zeigt nur die Regelungen des Pod, nicht das Hauptprojekt Schema.

Information about workspace "Project": Schemes: Pods Pods-AFNetworking Pods-Bolts Pods-Facebook-iOS-SDK

Ich habe die cocoapods buildstep mit pod install

ich das configs als Xcode-Plugin setzen: Ziel: Projekt, sauber vor Build-Konfiguration: Debug, Xcode Schemadatei: Projekt, Xcode Arbeitsbereich-Datei : Projekt, Build-Ausgabeverzeichnis: $ {WORKSPACE}/build.

Dies ist der Fehler, der ausgedruckt wird:

Going to invoke xcodebuild:, scheme: Project, sdk: DEFAULT, workspace: Project, configuration: Debug, clean: YES, archive:NO, symRoot: DEFAULT, configurationBuildDir: /Users/ignat/.jenkins/workspace/Project/build, codeSignIdentity: DEFAULT 
[Project] $ /usr/bin/xcodebuild -scheme Project -workspace Project.xcworkspace -configuration Debug clean build CONFIGURATION_BUILD_DIR=/Users/ignat/.jenkins/workspace/Project/build 
Build settings from command line: 
    CONFIGURATION_BUILD_DIR = /Users/ignat/.jenkins/workspace/Project/build 

xcodebuild: error: The workspace 'Project' does not contain a scheme named 'Project'. 
FATAL: Build directory does not exist at /Users/ignat/.jenkins/workspace/Project/build. Potential configuration issue. 
Build step 'Xcode' marked build as failure 
Finished: FAILURE 

Antwort

19

Da der Ausgang des xcodebuild -list sagt, Ihr Arbeitsbereich hat nur Regelungen für die Pods.

Wenn Ihre Jenkins-Instanz Ihr Projekt aus einem Repository zieht, ist es wahrscheinlich, dass Sie Ihr Project-Schema nicht für alle freigeben.

Um dies zu beheben, müssen Sie Ihr Schema für alle Benutzer freigeben, die das Repo verwenden. In Xcode, klicken Sie auf das Schema Namen das System-Menü (oben links) zu öffnen, und wählen Sie „Schemes verwalten ...“

Manage schemes menu

im Dialog verwalten Schema, stellen Sie sicher, dass das System Sie wollen mit Jenkins zu erstellen, wird für alle Benutzer freigegeben, indem Sie das Kästchen "Shared" auf der rechten Seite markieren.

Manage Schemes dialog

Ihr Project System sollte danach auf Jenkins aufgeführt.

+0

Sollte das Schema im Container Projekt oder Pods Projekt sein? – Ignat

+0

Sie gehört zum Projektprojekt, da das Pods-Projekt nur Pods verwaltet und das Projektprojekt alle Quelldateien und Einstellungen für Ihr Projekt verwaltet. – LodeRunner

+0

Sollte diese "Schema" -Information nicht bereits im Arbeitsbereich vorhanden sein? – Ignat

Verwandte Themen