2010-11-30 18 views
39

Utilizo la tarea ant exec para ejecutar xcodebuild para construir algunos proyectos de iOS hudson. Me gustaría ser capaz de crear una secuencia de comandos de esa manera que permita no especificar la versión sdk, porque después de actualizar sdk en hudson slave o mi iOS proyecta todos mis proyectos que fallan ...parámetro para xcodebuild para usar el último SDK.

Hay una buena opción en xcode desde SDK 4.2 en la configuración de destino Base SDK - Latest iOS

y yo no tienen que proporcionar -sdk parámetro en el comando xcodebuild, pero entonces (creo) se toma a partir del proyecto de Xcode y es malo porque entonces alguien puede cambiar de destino desde el simulador de dispositivo de forma accidental durante la confirmación.

Necesito algo que sea constante. Preferiría no utilizar la variable env porque me gustaría poder ejecutar esta tarea ant en máquinas de desarrollo y me gustaría no tener que volver a establecerla en todas las máquinas.

Desafortunadamente xcodebuild -showsdks da solamente:

Mac OS X SDKs: 
    Mac OS X 10.4     -sdk macosx10.4 
    Mac OS X 10.5     -sdk macosx10.5 
    Mac OS X 10.6     -sdk macosx10.6 

iOS SDKs: 
    iOS 4.2       -sdk iphoneos4.2 

iOS Simulator SDKs: 
    Simulator - iOS 3.2    -sdk iphonesimulator3.2 
    Simulator - iOS 4.0    -sdk iphonesimulator4.0 
    Simulator - iOS 4.1    -sdk iphonesimulator4.1 
    Simulator - iOS 4.2    -sdk iphonesimulator4.2 

necesito algo así como -sdk iphoneosLatest. Mi única idea es separar la salida de xcodebuild -showsdks con algún script, pero no me gusta esta idea.

+0

Sólo por curiosidad, ¿qué se utiliza Ant para, junto con Hudson y proyectos de iOS? Acabo de terminar de configurar Hudson para iOS y no necesitaba otras herramientas, preguntándome si me estoy perdiendo algo. –

Respuesta

7

Creo que puede usar xcodebuild -sdk iphoneos (sin número de versión) para lograr esto.

4

Probé la solución de @jenningj y funcionó para mí. Maciek Sawicki, si esto funciona para usted, debe marcarlo como la solución correcta.

Además, xcodebuild -showsdk debe ser xcodebuild -showsdks.

57

Puede utilizar xcodebuild con el último SDK usando:

  • xcodebuild -sdk iphoneos, para el dispositivo
  • xcodebuild -sdk iphonesimulator, para el simulador.

Utilizamos estas opciones para nuestra automatizado construye y se ha estado trabajando desde XCode 3.2.5

0

que puede probar: xcodebuild -showsdks | grep -Eo "iphoneos([0-9]{1,}\.)+[0-9]{1,}"

Cuestiones relacionadas