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:
- Conexión a la cuenta de servicio del repositorio (GitHub, Bitbucket, VSTS, Azure DevOps)
- Seleccione un repositorio y una rama en la que se encuentra la aplicación
- 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.
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 .ipa
có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.