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

Importante

Visual Studio App Center está programado para la retirada 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 de soporte técnico y las alternativas.

Para compilar la primera aplicación nativa de iOS, debe realizar las siguientes acciones:

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

Nota

Para ejecutar la aplicación en un dispositivo real, la compilación debe estar firmada con un perfil de aprovisionamiento válido y un certificado.

1. Vinculación del repositorio

Si no se ha conectado previamente a la cuenta de servicio del repositorio, debe autorizar la conexión. Una vez conectada la cuenta, seleccione el repositorio donde se encuentra el proyecto de iOS. App Center requiere que la cuenta tenga permiso de Administración y extracción para configurar una compilación para un repositorio.

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

Configure el proyecto de iOS antes de la primera compilación.

3.1 Proyecto/área de trabajo y esquema

Para una configuración de compilación, se requiere un proyecto de Xcode o un área de trabajo de Xcode y un esquema compartido. App Center detecta automáticamente los proyectos, las áreas de trabajo y los esquemas compartidos (siempre y cuando los esquemas estén en la carpeta correcta) 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, asegúrese de que el esquema que desee es compartido y su contenedor es el proyecto o área de trabajo que ha seleccionado. También debe confirmar que esos cambios se comprueban en la rama que está configurando.

Tenga en cuenta que no puede exportar un .xcscheme archivo y colocarlo en cualquier parte del proyecto. Debe estar en la xcshareddata/xcschemes/ carpeta . Asegúrese de que esta ruta de acceso no está en el .gitignore archivo.

Marcar 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. Este proceso 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, CFBundleVersion en de la Info.plist aplicación se incrementa automáticamente para cada compilación. El cambio se produce previamente a la compilación y no se confirmará en el repositorio.

Nota

Para que el número de compilación incremente el trabajo, asigne un .plist file nombre como *Info.plist , como Production-Info.plist.

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 XCTest.

3.6. Firma de código

La creación de una aplicación de iOS para dispositivos reales requiere firmarla con credenciales válidas. Para firmar compilaciones en App Center, habilite el inicio de sesión de código en el panel de configuración y cargue un perfil de aprovisionamiento () y un certificado válido (.mobileprovision.p12), junto con la contraseña del certificado.

La configuración del proyecto de Xcode debe ser compatible con los archivos que está cargando. Puede obtener más información sobre la firma de código en la documentación oficial para desarrolladores de Apple.

Las aplicaciones con extensiones de app o watchOS requieren que se firme un perfil de aprovisionamiento adicional por extensión.

3.7. Inicio de la compilación correcta en un dispositivo real

Use el archivo recién generado .ipa para probar si la aplicación se inicia en un dispositivo real. El inicio en un dispositivo real agregará aproximadamente 10 minutos más al tiempo de compilación total. Obtenga más información sobre cómo configurar pruebas de inicio.

3.8. 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. Este paso garantizará que todas las dependencias estén instaladas.

Advertencia

Si el repositorio ya contiene una carpeta /Pods , App Center supone que ha protegido los pods del repositorio y ya no realizará pod install. Si quita o modifica la carpeta /Pods , es posible que tenga que volver a guardar manualmente la configuración de compilación mediante Save o Save and Build para que la actualización surta efecto.

3.9. Distribuir a un grupo de distribución

Puede configurar cada compilación correcta 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 a todos los usuarios que tienen acceso a la aplicación.

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

4. Generar resultados

Después de desencadenar una compilación, puede estar en los siguientes estados:

  • en cola : la compilación se pone en cola esperando a que se liberen los recursos.
  • building : la compilación ejecuta las tareas predefinidas.
  • correcto: la compilación se ha completado y se ha realizado correctamente.
  • failed : se completó la compilación, pero se produjo un error. Puede solucionar los problemas que han ido mal inspeccionando los registros de compilación.
  • cancelado: una acción de 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 producido 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 (.ipa)

El .ipa archivo es un archivo de archivo de aplicación de dispositivo iOS que contiene la aplicación de iOS.

  • Las compilaciones sin firmar no generarán un .ipa archivo. El artefacto de una compilación sin firmar es el .xcarchive archivo que se puede usar para generar un .ipa archivo con el organizador Xcode Archives.
  • Si la compilación está firmada correctamente, el .ipa archivo se puede instalar en un dispositivo real correspondiente al perfil de aprovisionamiento usado al firmar. Puede encontrar más detalles sobre la firma y distribución de código con App Center en la documentación de firma de código de iOS de App Center.
  • Si la compilación no se ha firmado, el desarrollador puede firmar el .ipa archivo (por ejemplo, localmente mediante codesign) o usarse para otros fines (por ejemplo, cargar en servicio de prueba para pruebas de iu en dispositivos reales o ejecutarse en el simulador).

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

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

  • Si anteriormente ha integrado 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 anteriormente ha integrado otro SDK con fines de informes de bloqueos en la aplicación (por ejemplo, sdk de HockeyApp), el servicio correspondiente requiere que el .dsym archivo muestre informes de bloqueo legibles por personas.

Tenga en cuenta que los .dsym archivos no cambian al firmar el .ipacó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.

Versiones y requisitos admitidos

Los detalles de la versión de Xcode de la máquina de compilación se actualizan cada vez que se agrega una nueva versión de Xcode. Seguimos atentos a las versiones más recientes publicadas por Apple y las incluyemos lo antes posible en las máquinas virtuales que se usan para ejecutar las compilaciones.