Reinicio rápido de Xamarin

El reinicio rápido de Xamarin permite probar rápidamente los cambios en la aplicación durante el desarrollo, incluidas las ediciones de código de varios archivos, los recursos y las referencias. Inserta los cambios nuevos en el grupo de aplicaciones existente en el destino de depuración, lo que genera un ciclo de compilación e implementación mucho más rápido.

Importante

En este momento, el reinicio rápido de Xamarin está disponible en la versión estable de Visual Studio 2019 16.5 y es compatible con aplicaciones iOS en las que se usa Xamarin.Forms. La compatibilidad con Visual Studio para Mac y aplicaciones que no son de Xamarin.Forms está en la hoja de ruta.

Requisitos

  • Visual Studio 2019, versión 16.5 o posterior
  • iTunes (versiones de Microsoft Store o de 64 bits)
  • Cuenta de desarrollador de Apple e inscripción pagada al Programa para Desarrolladores de Apple

Configuración inicial

Nota:

El reinicio rápido de Xamarin está deshabilitado de forma predeterminada en Visual Studio 16.8 y versiones anteriores. Puede habilitarlo en Herramientas > Opciones > Entorno > Características de versión preliminar > Habilitar el reinicio rápido de Xamarin. A partir de Visual Studio 16.9, el reinicio rápido de Xamarin está activado de forma predeterminada y se puede desactivar en Herramientas > Opciones > Xamarin > Configuración de iOS > Habilitar el reinicio rápido.

  1. Asegúrese de que el proyecto de iOS está establecido como proyecto de inicio y la configuración de compilación en Depuración|iPhone.

    1. Si se trata de un proyecto existente, vaya a Compilar > Configuration Manager... y asegúrese de que Implementar esté habilitado para el proyecto de iOS.
  2. Seleccione y haga clic en Dispositivo local en la barra de herramientas para iniciar el Asistente para la instalación:

    Screenshot of the Visual Studio toolbar with local device set as the debug target.

  3. Si iTunes no está instalado, haga clic en Descargar iTunes para descargar el instalador. Haga clic en Siguiente cuando se complete la instalación de iTunes.

  4. Conecte un dispositivo iOS al equipo. Si un dispositivo ya estaba conectado, desconéctelo y vuelva a conectarlo. El nombre del dispositivo aparecerá en el asistente una vez que se haya detectado. Haga clic en Next.

  5. Escriba las credenciales de la cuenta de desarrollador de Apple y haga clic en Siguiente.

  6. Seleccione un equipo de desarrollo mediante el menú desplegable para habilitar el aprovisionamiento automático en el proyecto. Haga clic en Finalizar

Nota:

Se recomienda el uso del aprovisionamiento automático para que se puedan configurar fácilmente dispositivos iOS adicionales para la implementación. Pero puede deshabilitarlo y seguir usando el aprovisionamiento manual si los perfiles de aprovisionamiento correctos están presentes.

Uso del reinicio rápido de Xamarin

Después de la instalación inicial, el dispositivo conectado aparecerá en el menú desplegable de destino de depuración. Para depurar la aplicación, seleccione el dispositivo en la lista desplegable y haga clic en el botón Ejecutar. Es posible que vea un mensaje de Visual Studio en el que se le pide que inicie manualmente la aplicación en el dispositivo para poder iniciar la sesión de depuración.

Puede realizar modificaciones en los archivos de código durante la depuración y después presionar el botón Reiniciar de la barra de herramientas de depuración, o bien Ctrl+Mayús+F5, para reiniciar la sesión de depuración con los nuevos cambios aplicados:

Screenshot of the debug toolbar with the restart button highlighted.

También puede usar el símbolo de preprocesador HOTRESTART para impedir que se ejecute cierto código al depurar con el reinicio rápido de Xamarin.

Limitaciones

  • Actualmente solo se admiten aplicaciones iOS compiladas con Xamarin.Forms y dispositivos iOS.
  • Solo se admiten dispositivos iOS de 64 bits. A partir de iOS 11, Apple ya no permite ejecutar aplicaciones iOS en la arquitectura de 32 bits (dispositivos anteriores a iPhone 5s).
  • Los archivos de Storyboard y XIB no se admiten y es posible que la aplicación se bloquee si intenta cargarlos en tiempo de ejecución. Use el símbolo de preprocesador HOTRESTART para evitar que se ejecute el código.
  • No se admiten marcos ni bibliotecas de iOS estáticos y es posible que vea errores en tiempo de ejecución o bloqueos si la aplicación intenta cargarlos. Use el símbolo de preprocesador HOTRESTART para evitar que se ejecute el código. Las bibliotecas de iOS dinámicas se admiten.
  • No se puede usar el reinicio rápido de Xamarin para crear paquetes de aplicaciones para la publicación. Seguirá necesitando un equipo Mac a fin de realizar una compilación, firma e implementación completas para la aplicación en producción.
  • Los catálogos de recursos actualmente no se admiten. Al usar el reinicio rápido, la aplicación mostrará el icono y la pantalla de inicio predeterminados para las aplicaciones de Xamarin. Cuando se emparejan con un equipo Mac, o se desarrollan en un equipo Mac, los catálogos de recursos funcionarán.

Solución de problemas

  • Hay un problema conocido en el que tener habilitadas compilaciones específicas del dispositivo impide que la aplicación entre en el modo de depuración. La solución consiste en deshabilitarlo en Propiedades > Compilación de iOS y reintentar la depuración. Este problema se corregirá en futuras versiones.
  • Si la aplicación ya está en el dispositivo, es posible que se produzca un error AMDeviceStartHouseArrestService al intentar realizar la implementación con el reinicio rápido. La solución alternativa consiste en desinstalar la aplicación en el dispositivo y volver a implementarla.
  • Si escribe un identificador de Apple que no forme parte del Programa para Desarrolladores de Apple, podría mostrarse el siguiente error: Authentication Error. Xcode 7.3 or later is required to continue developing with your Apple ID. Debe tener una cuenta de desarrollador de Apple válida para usar el reinicio rápido de Xamarin en dispositivos iOS.

Para notificar problemas adicionales, usa la herramienta de comentarios en Ayuda > Enviar comentarios> Informar sobre un problema.