Xcode
Herramientas de línea de comandos
Buscar..
Pruebas de carrera
Para ejecutar sus pruebas de unidad en el simulador usando xcodebuild
use
Si tiene un espacio de trabajo (por ejemplo, cuando utiliza CocoaPods )
xcodebuild \
-workspace MyApp.xcworkspace \
-scheme "MyScheme" \
-sdk iphonesimulator \
-destination 'platform=iOS Simulator,name=iPhone 6,OS=9.1' \
test
Si tienes un archivo de proyecto
xcodebuild \
-project MyApp.xcproj \
-scheme "MyScheme" \
-sdk iphonesimulator \
-destination 'platform=iOS Simulator,name=iPhone 6,OS=9.1' \
test
Los valores de destination
alternativos son
-destination 'platform=iOS,id=REAL_DEVICE_UDID'
-destination 'platform=iOS,name=IPHONE NAME'
Lista de objetivos disponibles, esquemas y configuraciones de compilación
Para listar todos los esquemas disponibles para el proyecto en su directorio actual
xcodebuild -list
Opcionalmente, puede pasar una ruta a un proyecto o archivo de área de trabajo
xcodebuild -list -workspace ./MyApp.xcworkspace
xcodebuild -list -project ./MyApp.xcodeproj
Ejemplo de salida
Information about project "Themoji":
Targets:
Themoji
ThemojiUITests
Unit
Build Configurations:
Debug
Release
If no build configuration is specified and -scheme is not passed then "Release" is used.
Schemes:
Themoji
ThemojiUITests
Units
Compilar y firmar esquema
Limpieza y compilación de código para iPhone, en el proyecto MyProject para el esquema Qa:
xcrun xcodebuild clean \
-workspace "MyProject.xcworkspace" \
-scheme "YourScheme" \
-sdk iphoneos \
-configuration Debug \
archive \
-archivePath builds/MyProject.xcarchive
La configuración puede ser Debug
o Release
.
Firmando el código previamente compilado:
xcrun xcodebuild -exportArchive \
-archivePath builds/MyProject-Qa.xcarchive \
-exportOptionsPlist config.plist \
-exportPath builds
config.plist
contiene la información sobre cómo empaquetar y firmar la aplicación, para el uso de las compilaciones de desarrollo:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>method</key>
<string>development</string>
<key>uploadSymbols</key>
<true/>
</dict>
</plist>
Un plist de lanzamiento de App Store debería contener algo como:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>teamID</key>
<string>xxxxxxxxxxx</string>
<key>method</key>
<string>app-store</string>
<key>uploadSymbols</key>
<true/>
</dict>
</plist>
Donde se puede obtener la identificación del equipo de su llavero.
Todos los parametros disponibles
-
compileBitcode
-
embedOnDemandResourcesAssetPacksInBundle
-
iCloudContainerEnvironment
-
manifest
-
method
-
onDemandResourcesAssetPacksBaseURL
-
teamID
-
thinning
-
uploadBitcode
-
uploadSymbols
Para obtener más información sobre cada uno de los parámetros, ejecute xcodebuild --help
Acceda a cualquier herramienta de línea de comandos en el paquete de aplicaciones Xcode (xcrun)
xcrun
usa la versión Xcode predeterminada del sistema (configurada mediante xcode-select
) para localizar y ejecutar herramientas de línea de comandos del paquete de aplicaciones Xcode, por ejemplo, llvm-cov.
# Generate code coverage reports via llvm-cov
# /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin
xcrun llvm-cov [parameters]
# Execute xcodebuild
# /Applications/Xcode.app/Contents/Developer/usr/bin
xcrun xcodebuild [parameters]
# Use Xcode's version of git, e.g., if you have installed a newer version
# /Applications/Xcode.app/Contents/Developer/usr/bin
xcrun git [parameters]
Cambio de herramientas de línea de comandos con xcode-select
Imprima la ruta al directorio de desarrollador activo (Xcode seleccionado)
xcode-select -p
Seleccione una versión diferente de Xcode, por ejemplo, Beta
sudo xcode-select -s /Applications/Xcode-beta.app
Restablecer la versión predeterminada de Xcode
sudo xcode-select -r
Esto es equivalente a ejecutar sudo xcode-select -s /Applications/Xcode.app
Para más detalles: man xcode-select