2014-05-15 7 views
6

enthält Ich habe ein Xcode-Projekt, das mehrere Teilprojekte (Rahmen Projekte, die als lib Dateien kompilieren) enthält als Teil des Hauptprojekts. Das Projekt kompiliert/erstellt ordnungsgemäß in Xcode (baut die Unterprojekte vom unteren Rand des Hyarchial-Baums bis zum Haupt-App-Projekt korrekt auf).Xcode: Wie machen xcodebuild ein Projekt zu erstellen, die Teilprojekte

Ich versuche jetzt, das Projekt für Continuous Integration einzurichten, und wenn ich versuche, von der Befehlszeile aus mit xcodebuild zu bauen ... schlägt der Build fehl, weil ich die .a-Dateien nicht finden konnte Hauptprojekt.

Ich kann jede lib-Dateien unabhängig von der cmd-Zeile erstellen, aber das gesamte konsolidierte Projekt schlägt fehl. Obwohl ich die Abhängigkeiten im Zielschema korrekt verwaltet habe und wenn ich das Ziel oder Schema bei der Verwendung von xcodebuild spezifiziere, werden die Unterprojekte immer noch nicht erstellt.

Gibt es eine Möglichkeit zu machen xcodebuild die Teilprojekte zu bauen und dann das Hauptprojekt, wie es in der Xcode IDE tut? Wenn nicht, würde das funktionieren, wenn ich das gesamte Projekt in einen Arbeitsbereich umwandeln würde?

Jede Hilfe oder Vorschläge würden sehr geschätzt werden. Ich betreibe Xcode 5.1.1 auf Mavericks.

+0

Manchmal haben die Buildkonfigurationen 'Release' und' Debug' unterschiedliche Einstellungen. Sie können versuchen, die Option "-configuration Debug" xcodebuild zu verwenden. Dies _ sollte_ genauso aufgebaut sein wie Xcode 5.1, wenn Sie die Run-Taste drücken. –

+0

Schauen Sie sich auch die "Verwandte" Fragen in der rechten Seitenleiste an. –

Antwort

2

Sie müssen einen Arbeitsbereich verwenden, um mehrere Projekte zu erstellen. Stellen Sie sicher, dass Sie Ihre Schemas freigeben, da Sie auf einen CI-Server wechseln.

+0

Danke Sylvanaar, du hast mich in die richtige Richtung gelenkt. – SeaWolf

8

Die Lösung war einfach ... die „-Schema“ Flag anstelle von „-target“ erlaubt mit Hilfe der Projekt korrekt zu bauen (alle Teilprojekte/Frameworks und dann APP-Ziel)

FAILED:

xcodebuild -project MyProject.xcodeproj -target MyProject -sdk "iphoneos" -configuration “Build” archive OBJROOT=../../build_iOS/Obj.root SYMROOT=../../build_iOS/Sym.root 

WIE ERWARTET BUILT:

xcodebuild -project MyProject.xcodeproj -scheme MyProject -sdk "iphoneos" -configuration “Build” archive OBJROOT=../../build_iOS/Obj.root SYMROOT=../../build_iOS/Sym.root 

Es besteht keine Notwendigkeit, das Projekt in einem Arbeitsbereich zu konvertieren war.

+2

Ich fand auch, dass die Verwendung von vollständigen Dateipfaden zu Projekt, Schema usw. einen großen Unterschied macht. Oftmals wird sich Xcodebuild darüber beschweren, dass es die Datei nicht finden kann, obwohl Ihr Terminal genau darauf schaut ... ein vollständiger Pfad löst das Problem. – SeaWolf

Verwandte Themen