Creación de aplicaciones Objective-C o Swift para macOS

Importante

Visual Studio App Center está programado para retirarse el 31 de marzo de 2025. Aunque puede seguir usando Visual Studio App Center hasta que se retire por completo, hay varias alternativas recomendadas a las que puede considerar la posibilidad de migrar.

Obtenga más información sobre las escalas de tiempo y las alternativas de soporte técnico.

Para empezar a compilar la primera aplicación mac, siga estos pasos:

  1. Conéctese a la cuenta de servicio del repositorio (GitHub, Bitbucket, VSTS, Azure DevOps).
  2. Seleccione un repositorio y una rama donde reside la aplicación.
  3. Configure el proyecto o el área de trabajo de la compilación y el esquema que desea compilar.

Nota

Para que la aplicación se distribuya, la compilación debe estar firmada con un certificado. Un perfil de aprovisionamiento es opcional. Además, actualmente no se admite la compilación para instaladores de Mac.

1. Vinculación del repositorio

Debe conectarse a la cuenta de servicio del repositorio. Una vez conectada la cuenta, seleccione el repositorio donde se encuentra el proyecto de Mac. Para configurar una compilación para un repositorio, necesita permiso de administrador y extracción para él.

2. Selección de una rama

Después de seleccionar un repositorio, seleccione la rama que desea compilar. De forma predeterminada, se mostrarán todas las ramas activas.

3. Configuración de la primera compilación

Antes de la primera compilación, es necesario configurar el proyecto de Mac.

3.1. Proyecto/área de trabajo y esquema

Para una configuración de compilación, se requieren un proyecto de Xcode o un área de trabajo de Xcode y un esquema compartido. App Center detecta automáticamente los proyectos, áreas de trabajo y esquemas compartidos de la rama. Seleccione el proyecto o el área de trabajo que desea compilar y el esquema correspondiente.

Si no se encuentra ningún esquema, confirme el esquema con el que desea compilar es compartido y el contenedor del esquema es el proyecto o el área de trabajo que ha seleccionado. Asegúrese también de que estos cambios están protegidos en la rama para la que está configurando la compilación.

Marcar el esquema como compartido

3.2. Versión de Xcode

Seleccione la versión de Xcode para ejecutar la compilación.

3.3. Desencadenadores de compilación

De forma predeterminada, se desencadena una nueva compilación cada vez que un desarrollador inserta en una rama configurada. Esto se conoce como "Integración continua". Si prefiere desencadenar manualmente una nueva compilación, puede cambiar esta configuración en la configuración de compilación.

3.4. Incrementar el número de compilación

Cuando se habilita, en CFBundleVersion info.plist de la aplicación se incrementa automáticamente para cada compilación. El cambio se produce antes de la compilación y no se confirmará en el repositorio.

3.5. Pruebas

Si el esquema seleccionado tiene una acción de prueba con un destino de prueba seleccionado, puede configurar las pruebas para que se ejecuten como parte de cada compilación. App Center actualmente puede ejecutar pruebas unitarias de XCTest. App Center no admite pruebas de inicio para compilaciones de Mac.

3.6. Firma de código

Una compilación correcta generará un .app archivo. Para instalar la compilación en un dispositivo, debe estar firmado el certificado. Para firmar las compilaciones generadas desde una rama, habilite el inicio de sesión de código en el panel de configuración y cargue un certificado válido (.p12), junto con la contraseña del certificado. La configuración del proyecto de Xcode debe ser compatible con los archivos que está cargando. Un perfil de aprovisionamiento es opcional para la firma de código.

Actualmente, App Center solo admite estas configuraciones de firma:

  • Firma manual mediante el método de exportación de desarrollo solo con un certificado de desarrollo
  • Firma manual mediante el método de exportación de id. de desarrollador
  • Firma automática mediante el método de exportación de desarrollo

Puede obtener más información sobre la firma de código en la guía de firma de código macOS de App Center y en la guía oficial para desarrolladores de Apple.

3.7. CocoaPods

App Center examina la rama seleccionada y, si encuentra un podfile, realizará automáticamente un pod install paso al principio de cada compilación. Esto garantiza que se instalen todas las dependencias.

Si el repositorio ya contiene una carpeta /Pods , App Center supone que ha protegido los pods del repositorio y ya no ejecutará pod install.

3.8. Distribuir a un grupo de distribución

Puede configurar cada compilación firmada correctamente desde una rama para distribuirla a un grupo de distribución creado anteriormente. Puede agregar un nuevo grupo de distribución desde la sección Distribuir. Siempre hay un grupo de distribución predeterminado denominado "Colaboradores" que incluye todos los usuarios que tienen acceso a la aplicación.

Una vez que guarde la configuración, se iniciará automáticamente una nueva compilación.

4. Resultados de la compilación

Una vez desencadenada una compilación, puede estar en los siguientes estados:

  • queued: la compilación se pone en cola, esperando a que los recursos sean libres.
  • building : la compilación ejecuta las tareas predefinidas.
  • correcto: la compilación se completó correctamente.
  • error: la compilación encontró errores que impedían que se completara. Para solucionar problemas de la compilación, descargue e inspeccione los registros de compilación.
  • cancelado: una acción del usuario canceló la compilación o agotó el tiempo de espera.

4.1. Registros de compilación

Para una compilación completada (correcta o errónea), descargue los registros para obtener más información sobre cómo se ha realizado la compilación. App Center proporciona un archivo con los siguientes archivos:

|-- 1_build.txt (this is the general build log)
|-- build (this folder contains a separate log file for each build step)
    |-- <build-step-1> (e.g. 2_Get Sources.txt)
    |-- <build-step-2> (e.g. 3_Pod install.txt)
    |--
    |-- <build-step-n> (e.g. n_Post Job Cleanup.txt)

Los registros específicos del paso de compilación (ubicados en el build directorio del archivo) son útiles para solucionar problemas y comprender en qué paso y por qué se produjo un error en la compilación.

4.2. La aplicación (.app)

El .app archivo es un archivo de archivo de aplicación Mac, que contiene la aplicación Mac.

  • Si la compilación está firmada correctamente, el .app archivo se puede instalar en un dispositivo correspondiente al perfil de aprovisionamiento usado al firmar. Puede encontrar más detalles sobre la firma de código y la distribución con App Center en la documentación de firma de código macOS de App Center.
  • Si la compilación no se ha firmado, el desarrollador puede firmar el .app archivo. Por ejemplo, mediante codesign.

4.3. El archivo de símbolos (.dsym)

Los .dsym archivos contienen los símbolos de depuración de la aplicación.

  • Si ha agregado el SDK de App Center en la aplicación con el módulo de informes de bloqueos habilitado, el servicio de informes de bloqueos requiere este .dsym archivo para que una compilación muestre informes de bloqueo legibles (simbólicos).
  • Si ha agregado otro SDK para los informes de bloqueos en la aplicación, como el SDK de HockeyApp, el servicio requiere que el .dsym archivo muestre informes de bloqueo legibles por el usuario.

Los .dsym archivos no cambian al firmar el .appcódigo . Si decide firmar el código para firmar la compilación más adelante, el .dsym elemento generado antes de que la firma de código siga siendo válida.

Compilación de elementos internos

Para compilar el proyecto, usamos xcodebuild, una herramienta de línea de comandos que permite compilar, consultar, analizar, probar y archivar los proyectos y áreas de trabajo de Xcode.

Versiones y requisitos admitidos

Los detalles de la versión de la máquina de compilación se actualizan cada vez que se agrega una nueva versión de macOS. Incluimos las versiones más recientes publicadas por Apple tan pronto como sea posible en nuestras máquinas virtuales de compilación.