Nota
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Use esta tarea para compilar, probar o archivar un área de trabajo de Xcode en macOS y, opcionalmente, empaquetar una aplicación.
Sintaxis
# Xcode v4
# Build, test, or archive an Xcode workspace on macOS. Optionally package an app.
- task: Xcode@4
inputs:
actions: 'build' # string. Required. Actions. Default: build.
#configuration: '$(Configuration)' # string. Configuration. Default: $(Configuration).
#sdk: '$(SDK)' # string. SDK. Default: $(SDK).
#xcWorkspacePath: '**/*.xcodeproj/project.xcworkspace' # string. Workspace or project path. Default: **/*.xcodeproj/project.xcworkspace.
#scheme: # string. Scheme.
#xcodeVersion: 'default' # '8' | '9' | 'default' | 'specifyPath'. Xcode version. Default: default.
#xcodeDeveloperDir: # string. Optional. Use when xcodeVersion == specifyPath. Xcode developer path.
# Package options
#packageApp: false # boolean. Create app package. Default: false.
#archivePath: # string. Optional. Use when packageApp == true. Archive path.
#exportPath: 'output/$(SDK)/$(Configuration)' # string. Optional. Use when packageApp == true. Export path. Default: output/$(SDK)/$(Configuration).
#exportOptions: 'auto' # 'auto' | 'plist' | 'specify'. Optional. Use when packageApp == true. Export options. Default: auto.
#exportMethod: 'development' # string. Required when exportOptions == specify. Export method. Default: development.
#exportTeamId: # string. Optional. Use when exportOptions == specify. Team ID.
#exportOptionsPlist: # string. Required when exportOptions == plist. Export options plist.
#exportArgs: # string. Optional. Use when packageApp == true. Export arguments.
# Signing & provisioning
#signingOption: 'nosign' # 'nosign' | 'default' | 'manual' | 'auto'. Signing style. Default: nosign.
#signingIdentity: # string. Optional. Use when signingOption = manual. Signing identity.
#provisioningProfileUuid: # string. Optional. Use when signingOption = manual. Provisioning profile UUID.
#teamId: # string. Optional. Use when signingOption = auto. Team ID.
# Devices & simulators
#destinationPlatformOption: 'default' # 'default' | 'iOS' | 'tvOS' | 'macOS' | 'custom'. Destination platform. Default: default.
#destinationPlatform: # string. Optional. Use when destinationPlatformOption == custom. Custom destination platform.
#destinationTypeOption: 'simulators' # 'simulators' | 'devices'. Optional. Use when destinationPlatformOption != default && destinationPlatformOption != macOS. Destination type. Default: simulators.
#destinationSimulators: 'iPhone 7' # string. Optional. Use when destinationPlatformOption != default && destinationPlatformOption != macOS && destinationTypeOption == simulators. Simulator. Default: iPhone 7.
#destinationDevices: # string. Optional. Use when destinationPlatformOption != default && destinationPlatformOption != macOS && destinationTypeOption == devices. Device.
# Advanced
#args: # string. Arguments.
#workingDirectory: # string. Alias: cwd. Working directory.
#outputPattern: # string. Output directory.
#useXcpretty: false # boolean. Use xcpretty. Default: false.
#publishJUnitResults: false # boolean. Publish test results to VSTS/TFS. Default: false.
Entradas
acciones de actions
-
string
. Obligatorio. Valor predeterminado: build
.
Especifica una lista delimitada por espacios de acciones. Las opciones válidas son build
, clean
, test
, analyze
y archive
. Por ejemplo,clean build
realiza una compilación limpia. Consulte la Apple: Compilación desde la línea de comandos con preguntas más frecuentes de Xcode.
de configuración de configuration
-
string
. Valor predeterminado: $(Configuration)
.
Especifica la configuración del proyecto o área de trabajo de Xcode que se va a compilar. Al usar una variable, especifique un valor (por ejemplo, Release
) en la pestaña Variables de .
sdk
-
sdk de
string
. Valor predeterminado: $(SDK)
.
Especifica un SDK que se usará al compilar el proyecto o el área de trabajo de Xcode. En la aplicación Terminal de macOS, ejecute xcodebuild -showsdks
para mostrar la lista válida de SDK. Al usar una variable, especifique un valor (por ejemplo, iphonesimulator
) en la pestaña Variables de .
xcWorkspacePath
-
Espacio de trabajo o ruta del proyecto
string
. Valor predeterminado: **/*.xcodeproj/project.xcworkspace
.
Opcional. Especifica una ruta de acceso relativa desde la raíz del repositorio hasta el área de trabajo o el proyecto de Xcode. Si especifica un valor, también debe especificar el esquema. No especifique un valor si lo -target flag
especifica en Argumentos avanzados. Por ejemplo, MyApp/MyApp.xcworkspace
o MyApp/MyApp.xcodeproj
.
esquema de scheme
-
string
.
Opcional. Especifica un nombre de esquema de Xcode. Debe ser un esquema compartido (casilla compartida en esquemas administrados en Xcode). Si no especifica un esquema y el área de trabajo especificada tiene un único esquema compartido, se utilizará el esquema de área de trabajo.
xcodeVersion
-
Versión de Xcode
string
. Valores permitidos: 8
(Xcode 8), 9
(Xcode 9), default
( specifyPath
Especificar ruta de acceso). Valor predeterminado: default
.
Especifica la versión de destino de Xcode. Seleccione Default
esta opción para usar la versión predeterminada de Xcode en el equipo del agente. La especificación de un número de versión (por ejemplo, Xcode 9
) depende de la ubicación de la versión que se establecerá mediante variables de entorno en el equipo del agente (por ejemplo, XCODE_9_DEVELOPER_DIR=/Applications/Xcode_9.0.0.app/Contents/Developer
). Seleccione Specify path
esta opción para proporcionar una ruta de acceso específica al directorio de desarrolladores de Xcode.
xcodeDeveloperDir
-
Ruta de acceso para desarrolladores de Xcode
string
. Opcional. Use cuando xcodeVersion == specifyPath
.
Especifica una ruta de acceso a un directorio de desarrollador de Xcode específico (por ejemplo, /Applications/Xcode_9.0.0.app/Contents/Developer
). Esta entrada es útil cuando hay varias versiones de Xcode instaladas en el equipo del agente.
packageApp
-
Crear de paquetes de aplicaciones
boolean
. Valor predeterminado: false
.
Especifica si se debe generar un archivo de paquete de aplicación IPA como parte de la compilación.
archivePath
-
Ruta de archivo
string
. Opcional. Use cuando packageApp == true
.
Especifica un directorio donde se colocan los archivos creados.
exportPath
-
Ruta de exportación
string
. Opcional. Use cuando packageApp == true
. Valor predeterminado: output/$(SDK)/$(Configuration)
.
Especifica el destino del producto exportado desde el archivo.
exportOptions
-
Opciones de exportación
string
. Opcional. Use cuando packageApp == true
. Valores permitidos: auto
(Automático), plist
, specify
. Valor predeterminado: auto
.
Especifica las opciones para exportar el archivo. Cuando se selecciona el valor predeterminado de, el método de Automatic
exportación se detecta automáticamente desde el archivo. Seleccione Plist
esta opción para especificar un archivo plist que contenga opciones de exportación. Seleccione Specify
esta opción para proporcionar un método de exportación y un ID de equipo específicos.
exportMethod
-
Método de exportación
string
. Obligatorio cuando exportOptions == specify
. Valor predeterminado: development
.
Especifica el método que Xcode utiliza para exportar el archivo. Por ejemplo, app-store
, package
, ad-hoc
, enterprise
o development
.
id. de equipo de exportTeamId
-
string
. Opcional. Use cuando exportOptions == specify
.
Especifica el ID de equipo de 10 caracteres del Portal para desarrolladores de Apple que se utilizará durante la exportación.
exportOptionsPlist
-
Opciones de exportación plist
string
. Obligatorio cuando exportOptions == plist
.
Especifica la ruta de acceso al archivo plist que contiene las opciones que se van a utilizar durante la exportación.
exportArgs
-
Exportar argumentos
string
. Opcional. Use cuando packageApp == true
.
Especifica los argumentos adicionales de la línea de comandos utilizados durante la exportación.
signingOption
-
Estilo de firma
string
. Valores permitidos: nosign
(No codificar firma), default
(Valores predeterminados del proyecto), manual
(Firma manual), auto
(Firma automática). Valor predeterminado: nosign
.
Especifica el método de firma de la compilación. Seleccione Do not code sign
esta opción para deshabilitar la firma. Seleccione Project defaults
esta opción para usar solo la configuración de firma del proyecto. Seleccione Manual signing
esta opción para forzar la firma manual y, opcionalmente, especificar una identidad de firma y un perfil de aprovisionamiento. Seleccione esta opción Automatic signing
para forzar la firma automática y, opcionalmente, especifique un ID de equipo de desarrollo. Si el proyecto requiere firma, use las tareas Instalar Apple... para instalar certificados y perfiles de aprovisionamiento antes de la compilación de Xcode.
signingIdentity
-
de identidad de firma
string
. Opcional. Use cuando signingOption = manual
.
Especifica una invalidación de identidad de firma con la que se va a firmar la compilación. Es posible que sea necesario desbloquear el llavero predeterminado en el equipo del agente. Si no se especifica ningún valor, se utiliza la configuración del proyecto de Xcode.
provisioningProfileUuid
-
perfil de aprovisionamiento UUID
string
. Opcional. Use cuando signingOption = manual
.
Especifica el UUID de un perfil de aprovisionamiento instalado que se usa para la compilación. Use tareas de compilación independientes con diferentes esquemas o destinos para especificar perfiles de aprovisionamiento por destino en una sola área de trabajo (iOS, tvOS, watchOS).
id. de equipo de teamId
-
string
. Opcional. Use cuando signingOption = auto
.
Obligatorio si es miembro de varios equipos de desarrollo. Especifica el identificador del equipo de desarrollo de 10 caracteres.
destinationPlatformOption
-
Plataforma de destino
string
. Valores permitidos: default
, iOS
(iOS y watchOS), tvOS
, macOS
, custom
. Valor predeterminado: default
.
Especifica la plataforma del dispositivo de destino que se usa para las pruebas de interfaz de usuario cuando el dispositivo de compilación genérico no es válido. Elija Custom
especificar una plataforma que no esté incluida en la lista. Cuando Default
se selecciona, no se selecciona ningún simulador o dispositivo.
destinationPlatform
-
Plataforma de destino personalizada
string
. Opcional. Use cuando destinationPlatformOption == custom
.
Especifica la plataforma de un dispositivo de destino que se usa para las pruebas de interfaz de usuario cuando el dispositivo de compilación genérico no es válido.
destinationTypeOption
-
Tipo de destino
string
. Opcional. Use cuando destinationPlatformOption != default && destinationPlatformOption != macOS
. Valores permitidos: simulators
(Simulador), devices
(Dispositivo conectado). Valor predeterminado: simulators
.
Especifica el tipo de destino utilizado para las pruebas de interfaz de usuario. Los dispositivos deben estar conectados al Mac que realiza la compilación a través de un cable o una conexión de red. Consulte Dispositivos y simuladores en Xcode para obtener más información.
destinationSimulators
-
Simulador
string
. Opcional. Use cuando destinationPlatformOption != default && destinationPlatformOption != macOS && destinationTypeOption == simulators
. Valor predeterminado: iPhone 7
.
Especifica un nombre de simulador de Xcode que se usa para las pruebas de interfaz de usuario. Por ejemplo, iPhone X
(iOS y watchOS) o Apple TV 4K
(tvOS). Se puede especificar una versión opcional del sistema operativo de destino en el formato OS=<versionNumber>
, como iPhone X,OS=11.1
. Obtén más información sobre los simuladores instalados en el agente de vista previa de macOS alojado.
destinationDevices
-
Dispositivo
string
. Opcional. Use cuando destinationPlatformOption != default && destinationPlatformOption != macOS && destinationTypeOption == devices
.
Especifica el nombre del dispositivo utilizado para las pruebas de interfaz de usuario, como Raisa's iPad
.
argumentos de
string
.
Opcional. Especifica argumentos adicionales de la línea de comandos con los que se va a compilar. Esta entrada es útil para especificar -target
argumentos or -project
en lugar de un espacio de trabajo/proyecto y esquema. Consulte la Apple: Compilación desde la línea de comandos con preguntas más frecuentes de Xcode.
de directorio de trabajo de
Alias de entrada: cwd
.
string
.
Opcional. Especifica el directorio de trabajo en el que se va a ejecutar la compilación. Si no se introduce ningún valor, se utiliza la raíz del repositorio.
de directorio de salida de outputPattern
-
string
.
Opcional. Especifica una ruta de acceso relativa al directorio de trabajo donde se coloca la salida de compilación (archivos binarios). Por ejemplo: output/$(SDK)/$(Configuration)
o output/$(TestSDK)/$(TestConfiguration)
. Las rutas de archivo y exportación se configuran por separado. Especifique los valores en la pestaña Variables.
useXcpretty
-
Usar xcpretty
boolean
. Valor predeterminado: false
.
Especifica si se va a utilizar xcpretty
para dar formato xcodebuild
a la salida y genera los resultados de la prueba JUnit.
xcpretty
debe estar instalado en el equipo del agente (está preinstalado en los agentes de compilación hospedados de VSTS). Consulte xcpretty para obtener más información.
publishJUnitResults
-
Publicación de los resultados de las pruebas en VSTS/TFS
boolean
. Valor predeterminado: false
.
Si xcpretty
está habilitado, esta entrada especifica si se publican los resultados de la prueba JUnit en VSTS/TFS.
Opciones de control de tareas
Todas las tareas tienen opciones de control además de sus entradas de tarea. Para obtener más información, consulte Opciones de control y propiedades de tareas comunes.
Variables de salida
Ninguno.
Observaciones
Use esta tarea para compilar un área de trabajo de Xcode en macOS.
Ejemplos
Requisitos
Requisito | Descripción |
---|---|
Tipos de canalización | YAML, compilación clásica |
Se ejecuta en | Agente, DeploymentGroup |
demandas | Los agentes autohospedados deben tener funcionalidades que coincidan con las siguientes demandas ejecutar trabajos que usen esta tarea: xcode |
Capacidades | Esta tarea no satisface ninguna demanda de tareas posteriores en el trabajo. |
restricciones de comandos | Cualquiera |
variables settable | Cualquiera |
Versión del agente | Todas las versiones de agente admitidas. |
Categoría de tarea | Construir |