[Xamarin] Despliegue y depuración en iOS vía WiFi

Sin cables, depuración por WiFi

Un proceso que repetimos de forma continua en el desarrollo de aplicaciones móviles con Xamarin.iOS es desplegar la aplicación en un dispositivo. Para realizar el despliegue necesitamos conectarlo al equipo de desarrollo por USB.

Hasta ahora…

La última versión de Visual Studio permite utilizar la opción de XCode de depurar iOS/tvOS para desarrolladores Xamarin. Esta nueva opción llamada WiFi debugging permite depurar aplicación Xamarin.iOS sin necesidad de conectar el teléfono vía USB.

Requisitos

Para poder utilizar WiFi debugging es necesario tener:

  • XCode 9.0
  • macOS 10.12.4
  • Visual Studio 2017 1.6 en el caso de Windows o 7.4 en macOS

NOTA: El Mac y el dispositivo deben estar conectados a la misma red.

Preparando el dispositivo

Para conectar con un dispositivo vía WiFi en depuración, necesitamos utilizar XCode. Conectamos el dispositivo por USB.

En XCode nos dirigimos a Device Manager disponible en Window > Devices and Simulators.

Aquí encontraremos al dispositivo. Tras seleccionarlo se debe marcar la opción Connect via network.

Connect via network

Todo listo!.

NOTA: Dado que el Apple TV 4K no cuenta con puerto USB esta opción se convierte en algo especialmente importante para depuración aplicaciones tvOS.

Probando la conexión

Una vez que el dispositivo (iOS 11) está configurado, no hay que configurar nada en Visual Studio. El dispositivo aparecerá en Visual Studio y podremos utilizarlo para depurar.

NOTA: Entre errores de conexión habituales se encuentran problemas de red. Se utiliza el puerto 62078 para la conexión con XCode.

Otra interesante característica añadida relacionada con la depuración vía WiFi es la capacidad de detectar si el dispositivo se encuentra bloqueado. Anteriormente si el dispositivo se encontraba bloqueado obteníamos un error en el despliegue. Ahora, Visual Studio mostrará una alerta indicando que el dispositivo se encuentra bloqueado. Si desbloqueamos, el despliegue continua. También tenemos la opciñon de cancelar deteniendo la implementación y la sesión de depuración.

Más información