2014-10-08 6 views
6

Ich verwende den Befehl xcodebuild, um ein dynamisches Framework zu generieren. Um es mit dem iPhone 5s Simulator kompatibel zu machen, muss ich es mit x86_64 Architektur bauen. aber es baut nicht den Rahmen.Xcodebuild generiert kein dynamisches Framework mit x86_64-Architektur

Ich verwende unten Befehl für das.

xcodebuild -project $PROJECT_PATH -configuration 'Release' -sdk 'iphonesimulator7.0' clean build ARCHS='x86_64' VALID_ARCHS='x86_64' IPHONEOS_DEPLOYMENT_TARGET='7.0' TARGET_BUILD_DIR="$BUILD_DIR/build-x86_64" BUILT_PRODUCTS_DIR="BUILD_DIR/build-x86_64" 

Bitte helfen ...

+0

Konnte es nicht in XCode erzeugen? – wshcdr

+0

Wird das Framework-Projekt als Abhängigkeit in den Build-Phasen aufgeführt? Xcode löst Abhängigkeiten implizit auf, die Befehlszeile jedoch nicht. – borrrden

+0

Es wird generiert, während ich xcode verwende, aber nicht durch xcodebuild-Befehl erzeuge. –

Antwort

0

Vielen Dank für Ihre Antworten ..

Ich fand nur, dass iphonesimulator7.0 SDK nicht auf meinem Rechner installiert wurde, so dass es beim Bau nicht erreicht wurde.

Ich änderte es zu iPhonesimulator und seine Arbeit jetzt.

0

Es ist möglich, Sie die -target "MyTarget" Parameter fehlen. Wenn Sie diesen Parameter nicht übergeben, erstellt xcodebuild standardmäßig das erste im Projekt aufgelistete Ziel. Ist Ihr Wunschziel das erste Ziel im Projekt?

Eine andere Möglichkeit, die Sie ausprobieren könnten, ist die Verwendung einer bewährten Methode zur Erstellung von universellen Frameworks für iOS. Ich habe die hier beschriebene Methode mit vielen Gerüsten mit perfekten Ergebnissen verwendet: https://github.com/jverkoey/iOS-Framework. Ich bin nicht der Entwickler dieser Methode.

Ohne irgendwelche Fehlermeldungen oder sogar, wie Sie wissen, dass es versagt, ist es schwer, Ihnen weitere Details zu geben. Ist es nicht möglich zu bauen (Sie erhalten also eine Fehlermeldung)? Scheitert es, weil Sie die x86_64 Architektur im endgültigen Rahmen nicht sehen?

0

Probieren Sie etwas wie dies in der Liste der Argumente xcodebuild manual link

-destination "platform=iOS Simulator,OS=8.0,name=iPhone 6" 

Dies ist, was für ein Projekt angezeigt wird (ich diese Annahme mache basierend auf dem Kontext oben)

xcodebuild [-project projectname] -scheme schemename [-destination destinationspecifier] 
      [-destination-timeout value] [-configuration configurationname] 
      [-sdk [sdkfullpath | sdkname]] [buildaction ...] [setting=value ...] 
      [-userdefault=value ...] 

In einem ihrer Beispiele können Sie auch mehrere Ziele auflisten.

Ich bin persönlich in einem Projekt, das einen Arbeitsbereich verwendet, also muss ich ein Schema auflisten.

Seitennotiz, habe ich festgestellt, dass Sie die TARGET_BUILD_DIR und BUILD_PRODUCTS setzen. Ich setze OBJROOT und SYMROOT und die Verzeichnisse kommen genauso raus wie sie es mit der Xcode GUI getan haben.

Zuletzt hier ist ein echtes Beispiel für die Zielflagge

BUILDDIR="<path/to/build/directory>" 
xcodebuild -workspace "<path/to/workspace/>my.xcworkspace" -scheme "NameOfMySchemeToBuild" -destination "platform=iOS Simulator,OS=8.0,name=iPhone 6" -configuration "Release" OBJROOT=$BUILDDIR SYMROOT=$BUILDDIR 

hoffe, das hilft mit!

Verwandte Themen