2012-06-21 10 views
6

Ich benutze xcodebuild Kommandozeilen-Tool zum Erstellen von iOS-App.xcodebuild Befehl mit absolutem Pfad zum SDK

Nach der Installation Xcode45-DP1 wird automatisch 6.0 SDK aus dem neuen Xcode45-DP1-Anwendungspaket zum Erstellen von Anwendungen verwendet. Es gibt 2 Probleme beim Senden dieser App an AppStore.

  1. Die App wird jetzt automatisch mit dem neuesten SDK (6.0) erstellt, das noch nicht unterstützt wird, sodass die App nicht übermittelt werden kann. LÖSUNG: kopiert ich den alten Strom SDK (5.1) zu Xcode45-DP.app und in der Befehlszeile angegeben -sdk iphoneos5.1

  2. Zweites Problem ist, dass, wenn ApplicationLoader App Überprüfung wird sieht, dass SDK von nicht unterstützte Version von verwendet wird, Xcode (45-DP1) und lehnt das Hochladen der App ab. LÖSUNG: Ich möchte für SDK absoluten Pfad angeben, wie: xcodebuild -sdk /path/to/5.1sdk...

Das Problem ist, dass xcodebuild sagt immer, dass SDK „/path/to/iPhoneOS5.1.sdk/“ kann nicht gefunden werden.

Hat jemand eine Erfahrung mit der Verwendung von absoluten Pfad zu SDK und welche Datei/Verzeichnis sollte es zeigen?

Vielen Dank im Voraus.

+0

Ich denke, Sie werden die * Strom verwenden müssen * Version von Xcode, um Ihre App einzureichen, keine Vorschau für Entwickler. Warum benötigen Sie eine Entwicklervorschau? – trojanfoe

+0

Könnte der 4.5 DP1 auch unter NDA sein? Fragen Sie dazu in den Apple Entwicklerforen nach. – petert

+0

Das ist absolut richtig. Ich möchte nicht 4.5 DP1 verwenden, um eine App zu erstellen, aber wenn xcodebuild über die Befehlszeile ausgeführt wird, verwendet es standardmäßig, also habe ich versucht, 5.1SDK dorthin zu kopieren. Ich habe auch versucht, alte CommandLineTools zu installieren, aber es hat nicht geholfen. –

Antwort

4

Ich habe auch nach einer Weile gesucht und es scheint nicht eine direkte Möglichkeit, den vollständigen absoluten Pfad zu einem bestimmten SDK zu erhalten. Wenn Sie jedoch die -sdk Schalter und -find-library für eine beliebige Bibliothek und Streifen auf den letzten Weg Teile ausgeschaltet können Sie den vollständigen Pfad sdk wie so erhalten:

[ 13:02 [email protected] ~ ]$ export SYS_ROOT=`xcodebuild -sdk iphoneos6.0 -find-library system` 
[ 13:02 [email protected] ~ ]$ echo "${SYS_ROOT/\/usr\/lib\/libsystem.dylib/}" 
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS6.0.sdk 

[ 13:02 [email protected] ~ ]$ export SYS_ROOT=`xcodebuild -sdk iphonesimulator6.0 -find-library system` 
[ 13:02 [email protected] ~ ]$ echo "${SYS_ROOT/\/usr\/lib\/libsystem.dylib/}" 
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator6.0.sdk 
+4

Die SYS_ROOT-Pfade können auch auf diese Weise erhalten werden: "xcrun --sdk iphoneos --show-sdk-path" und "xcrun --sdk iphonesimulator --show-sdk-path". – neoneye

+1

Die Antwort im obigen Kommentar von Neoneye ist viel effizienter und zuverlässiger. Vielen Dank – michaK

Verwandte Themen