2014-09-19 20 views
5

Ich habe ein seltsames Problem, wenn ich versuche, eine statische Bibliothek mit xcodebuild zu kompilieren. Die Konfiguration des Projekts lautet: ARCHS = $ (ARCHS_STANDARD) VALID_ARCHS = $ ARCHS Es wird mit Xcode 5.1.1 ausgeführt.xcodebuild erstellt keine x86_64-Binärdatei

Jetzt kommt der seltsame Teil - das Projekt auf Maschinen mit Jenkins gebaut produziert fette Bibliothek mit allen 5 Architekturen (armv7 armv7s arm64, i386, x86_64), aber wenn ein Build auf meinem (64bit) Mac gestartet bin ich nur vier bekommen - x86_64 fehlt. Kein Codewechsel, sauberes Repo, genau die gleiche Build-Routine.

Ich frage mich, was diesen Unterschied verursachen kann. Ich denke, es könnte eine Art von Umgebung auf meiner Seite sein, aber ich habe keine Ahnung, was es sein könnte. Die Projektkonfiguration steht nicht unter Verdacht - sie erstellt auf einer anderen Maschine eine richtige Fettbibliothek.

Ich wäre dankbar für Ihre Ratschläge.

EDIT: Kein Fehler wird auch geworfen. xcodebuild verhält sich genau wie diese Architektur ist nicht spezifiziert - kompiliert iphonesimulator build nur für i386. Auch erwähnenswert - Xcode erstellt alle Architekturen, nur xcodebuild von der Befehlszeile ausgeführt hat Probleme.

Antwort

0

Versuchen Sie, das -destination-Flag zu Ihrem xcodebuild-Befehl hinzuzufügen.

xcodebuild -workspace MyWorkspace.xcworkspace -scheme MyScheme -destination 'platform=OS X,arch=x86_64' test 

Das obige ist ein Beispiel aus der xcodebuild manual page.

Ich hatte ein ähnliches Problem, wo ich wollte, dass xcodebuild einen i386-Build für den Simulator erstellt und weiterhin Armv7 erstellt, bis ich dieses Flag zu meinem Befehl hinzugefügt habe.