iphone - development - licencia de desarrollo ios
xcodebuild: simulador o dispositivo? (2)
¿Cómo especifico xcodebuild
(la herramienta de línea de comandos) si deseo construir para el simulador o dispositivo?
Una compilación XCode desde la línea de comando se ve así:
xcodebuild -configuration ${BUILD_TYPE} -target ${TARGET_NAME} -arch ${CPU_ARCHITECTURE} -sdk ${SIMULATOR_OR_IOS_SDK}
BUILD_TYPE
es algo así como "Release" o "Debug" (esos son los valores predeterminados, es posible que haya agregado otros al proyecto)
TARGET_NAME
es el nombre del objetivo que está creando (de manera predeterminada, el mismo nombre que su proyecto)
CPU_ARCHITECTURE
es la CPU para la que está construyendo, una de las siguientes:
i386 , armv6 , armv7
Use i386 para compilaciones de simulador, y use armv6 o armv7 para compilaciones de dispositivos: tenga en cuenta que algunos otros dispositivos no pueden ejecutar código armv7, por lo que al construir bibliotecas es una buena idea construir todas estas arquitecturas y luego pegarlas usando lipo
.
SIMULATOR_OR_IOS_SDK
es lo que estás buscando, es iphoneos
o iphonesimulator
. Esos valores usan la última versión del SDK que es compatible con XCode instalado, puede obtener una lista de SDK compatibles con:
xcodebuild -showsdks
Que devuelve una lista como:
Mac OS X SDKs:
Current Mac OS -sdk
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
xcodebuild
tiene más indicadores que eso, pero esos son los que comúnmente usarías después de usar XCode para configurar las propiedades de compilación. No es necesario que los use todos, pero probablemente sea una buena idea tener claro lo que está creando; de lo contrario, creo que se utilizaron sus últimas configuraciones.
-xcconfig
indicador -xcconfig
bastante útil. esta opción le permite especificar una ruta a un xcconfig (archivo de configuración de compilación). dentro de un xcconfig, puede #incluir otros archivos xcconfig.