2012-06-21 20 views
6

estoy usando xcodebuild herramienta de línea de comandos para construir iOS.comando xcodebuild con ruta absoluta al SDK

Después de instalar Xcode45-DP1 está utilizando 6.0 SDK del nuevo paquete de aplicaciones Xcode45-DP1 para crear aplicaciones. Hay 2 problemas al enviar esta aplicación a AppStore.

  1. La aplicación ahora se construye de forma automática con el último SDK (6.0), que es la nota sin embargo, con el apoyo, por lo que la aplicación no se puede presentar. SOLUCIÓN: Yo copiar el SDK de edad de corriente (5.1) a Xcode45-DP.app y en la línea de comandos especifica -sdk iphoneos5.1

  2. El segundo problema es que cuando ApplicationLoader es la verificación de la aplicación, se ve que se utiliza SDK de la versión no soportada de Xcode (45-DP1) y rechaza cargar la aplicación. SOLUCIÓN: Me gustaría especificar la ruta absoluta para el SDK, como: xcodebuild -sdk /path/to/5.1sdk...

El problema es que siempre dice que xcodebuild SDK "/path/to/iPhoneOS5.1.sdk/" no puede ser localizado.

¿Alguien tiene una experiencia con el uso de ruta absoluta al SDK y qué archivo/directorio que debe apuntar a?

Gracias de antemano.

+0

Creo que tendrá que utilizar la corriente * * versión de Xcode para enviar su aplicación, no una vista previa de desarrollador. ¿Por qué necesita usar una vista previa de desarrollador de todos modos? – trojanfoe

+0

¿Podría el 4.5 DP1 estar bajo NDA también? Pregunta en los foros de desarrolladores de Apple sobre esto. – petert

+0

Eso es absolutamente cierto. No quiero usar 4.5 DP1 para crear aplicaciones, pero cuando ejecuto xcodebuild desde la línea de comandos, lo usa de forma predeterminada, así que intenté copiar 5.1SDK en él. También intenté instalar las viejas CommandLineTools, pero no me ayudó. –

Respuesta

4

que han estado buscando esto por un tiempo, así y no parece ser una forma directa de obtener la ruta absoluta completa a un SDK específico. Sin embargo, si se establece el interruptor -sdk y -find-library para una biblioteca arbitraria y tiras los últimos partes de trayectoria de usted puede obtener la ruta completa SDK de esta manera:

[ 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

Los caminos SYS_ROOT también se pueden obtener de esta manera: "xcrun --sdk iPhoneOS --show-sdk-path" y "xcrun --sdk iphonesimulator --show-sdk-path". – neoneye

+1

La respuesta en el comentario anterior por neoneye es mucho más eficiente y confiable. Gracias – michaK

Cuestiones relacionadas