[Tips and Tricks] Corrección al error «Unsupported major.minor version 52.0»

androidEl error

Lleno de ilusión, descargas e instalas Xamarin y te dispones a crear tu primera aplicación móvil multiplataforma nativa con C#. Seleccionas el proyecto Android como proyecto de arranque, un simulador y compilas. Si tras breves segundos no ves tu aplicación en ejecución, quizás estas dentro del porcentaje reducido de desarrolladores que obtienen el siguiente error:

Unsupported major.minor version 52.0
Unsupported major.minor version 52.0

¿Qué ocurre?

Probablemente has instalado múltiples SDKs de Android utilizando Android SDK Manager. Xamarin Android intenta utilizar las últimas «Android Build-Tools» aún no compatibles.

La solución

Tenemos dos caminos posibles.

El primero de ellos se basa en actualizar Java JDK y asegurar su uso. La versión 52.0 referenciada en el error se refiere al JDK, en concreto a la versión 8. Xamarin Android 7.0 requiere el JDK 1.8 para usar las APIs de Android Nougat (API Level 24). Es necesaria además una versión de 64 bits para poder usar controles personales en el editor Android entre otras acciones.

Descargamos la versión correspondiente del JDK en este enlace.

Tras descargar e instalar, debemos asegurar que se utiliza la versión instalada. Para ello:

  • Visual Studio: Tools > Options > Xamarin > Android Settings > Java Development Kit Location.
  • Xamarin Studio (en Mac): Xamarin Studio > Preferences > Projects > SDK Locations > Android > Java SDK (JDK).

El segundo camino se basa en utilizar Android 6.0 o lo que es lo mismo el API Level 23. Abrimos Android SDK Manager:

Abrimos Android SDK Manager
Abrimos Android SDK Manager

Debemos desinstalar:

  • Android SDK Build-tools 24.0.x.

Y tener instalado:

  • Android SDK Build-tools 23.0.x.
  • SDK Platform 23.
Android SDK Manager
Android SDK Manager

Más información

[Tips and Tricks] Corregir error «could not connect to the debugger» utilizando Visual Studio Android Emulator

device-tablet-wfEl problema

Estas desarrollando una aplicación nativa multiplataforma con Xamarin con soporte a Android, te disponibles a lanzar y depurar la misma en el emulador Android incluido con Visual Studio y…

No se puede depurar!
No se puede depurar!

La aplicación realiza el despliegue e incluso arranca en el emulador, pero se detiene inmediatamente sin permitir depurar. Obtenemos el mensaje:

Could not connect to the debugger.

¿Cómo solucionamos el problema?

La solución

El error radica en incompatibilidades entre el procesador que hace de host y la máquina virtual Hyper-V.

En Windows 10, pulsamos el botón de inicio y escribimos MMC. A continuación, pulsamos la opción Hyper-V Manager:

Hyper-V Manager
Hyper-V Manager

En la herramienta de gestión de máquinas Hyper-V (emuladores) seleccionamos la que queremos usar y hacemos clic derecho, Settings.

Virtual Machines
Virtual Machines

En la ventana de configuración de la máquina, vamos a la sección Compatibility y habilitamos Migrate to a physical computer with a different processor version:

Configuración de compatibilidad
Configuración de compatibilidad

Si ejecutamos de nuevo la aplicación depurando desde Visual Studio, todo debe funcionar como se espera.

Más información

[Tips and Tricks] «Error MT0091: This version of Xamarin.iOS requires the iOS 10.0 SDK (shipped with Xcode 8.0) when the managed linker is disabled»

i-phoneEl problema

Desarrollando una aplicación con Xamarin para iOS, acabas de actualizar recientemente (Cycle 8) y al intentar compilar y desplegar el proyecto te encuentras con el siguiente error:

Error MT0091
Error MT0091

¿Qué ocurre?

La solución

El problema viene dado por tener la última versión de Xamarin.iOS ya preparada para iOS 10.0  y no tener XCode actualizado a la última versión. Xamarin.iOS 10 incluye los simbolos de XCode 8.

Tenemos dos soluciones.

  • La primera de ellas es sencilla, actualizar XCode a la versión 8.0.
  • La segunda opción es indicar al Linker que no utilice estos simbolos para permitir la compilación contra versiones anteriores de XCode (como es tu caso). Debes dirigirte a las propiedades del proyecto (clic derecho), pestaña Build, iOS Build y acceder a la opción Linker Behavior. Debes seleccionar la opción Link Framework SDKs only.

Más información

[Microsoft Tech Summit] Taller Xamarin

Introducción

Si para el próximo 06 de Octubre en el Microsoft Tech Summit tenías dudas de como organizarte con los 9 tracks de charlas, las posibilidades de networking o  entre los stands de patrocinadores, ¿y si lo complicamos todo un poco más?.

Tendremos un «décimo» track con talleres de desarrollo donde se puede encontrar un taller de desarrollo de aplicaciones móviles nativas multiplataforma con Xamarin.

Taller Xamarin
Taller Xamarin

Taller Xamarin

En el taller, veremos como crear una aplicación móvil multiplataforma para iOS, Android y Windows con Xamarin.Forms. En este taller organizado en diferentes bloques, vamos a crear una aplicación desde cero, conoceremos todos los conceptos básicos, aplicaremos MVVM y terminaremos conectando la misma con la nube.

Recuerda, es necesario que cumplas con un par de sencillos requisitos:

  • Portátil con Visual Studio y Xamarin instalado (la versión Community es suficiente).
  • Tener preparados emuladores, o algún dispositivo para hacer pruebas.

Además de desarrollar y mostrar la aplicación paso a paso en directo, la ayuda está garantizada, Josué Yeray, Rafael Serna, Marcos Cobeña y un servidor estaremos preparados para resolver cualquier duda que pueda surgir. Prepara tu equipo con Visual Studio y acércate al taller.

No te lo pierdas!

Más información

[Curso CampusMVP] Desarrollo de aplicaciones móviles nativas multiplataforma con C# y Xamarin

Introducción

No hay duda, los smartphones y tabletas han llegado, y ya forman parte de la vida de todos nosotros. En muchos aspectos de nuestra vida accedemos a información, realizamos algna tarea o sencillamente nos entretenemos con uno de ellos.

Esto también nos afecta como desarrolladores. El desarrollo móvil se ha convertido en una prioridad en una gran mayoria de ámbitos.

Actualmente contamos con varias plataformas dominantes:

  • iOS
  • Android
  • Windows

El mercado móvil actual

Esto a nivel de desarrollo nos supone barreras. Contamos con múltiples plataformas de desarrollo diferentes, lenguajes diferentes, etc. suponiendo un nivel de aprendizaje y esfuerzo cada vez mayor de cara a desarrolladores. Además, la experiencia nos ha demostrado que los usuarios no aceptan aplicaciones no nativas. Buscan aplicaciones rápidas, fluidas y con consumos moderados perfectamente adaptadas a la plataforma, ofreciendo una experiencia completa.

¿Qué podemos hacer para mejorar este panorama?

Xamarin

Aquí es donde entran en juego las tecnologías multiplataforma. En estos últimos años han aparecido diversas tecnologías que permiten aprovechar una base de código en multiples plataformas. Entre diversas opciones brilla con especial fuerza, por diferentes motivos (evolución, comunidad, apoyo de Microsoft) Xamarin.

Xamarin es una plataforma de desarrollo gratuita de Microsoft que permite crear nuestras aplicaciones móviles una sola vez y que funcionen en Android, iOS y Windows entre otros sistemas (Windows 10, Mac, wearables…).

Las apps que creamos con Xamarin son aplicaciones nativas, es decir, no tienen diferencias con las que podríamos crear usando las herramientas propias de cada plataforma.

xamarinmonkeysCurso completo Xamarin en CampusMVP

Tras diferentes proyectos o eventos relacionados con Xamarin donde he podido aprender y compartir con toda la comunidad, ¿algo mejor que abordar todo lo posible en un curso completo?. Así nace el curso de desarrollo de aplicaciones móviles nativas multiplataforma con C# y Xamarin en CampusMVP.

El curso, organizado en diferentes módulos comienza realizando una introducción al desarrollo Xamarin, desde la instalación y requisitos iniciales a la primera aplicación. Continua con todos los conceptos básicos de interfaces de usuario tanto nativas como con Xamarin.Forms. Se realiza una parada obligatorio en el repaso de conceptos como los principios SOLID para acabar implementando el patrón MVVM desde cero y conocer MVVMCross. Tras todo este bloque de conceptos básicos profundizamos más con controles más pesados y complejos (listados o Custom Renders en Xamarin.Forms), navegación o el acceso a la plataforma (creación de servicios, controles personalizados, sensores, uso de bases de datos, etc.). Cerramos con la publicación de aplicaciones en las diferentes tiendas no sin antes conocer como crear pruebas unitarias, Xamarin.UITest y el uso de Test Cloud por ejemplo.

Estamos ante un curso que cubre tanto Xamarin.Classic como Xamarin.Forms (iOS, Android y Windows), con más de 200 lecciones, 60 videos, decenas de ejemplos, pruebas y tests, etc. Por si fuese poco, en el último de los módulos se desarrolla desde cero una aplicación real completa para iOS y Android, que repasa la mayor parte de las técnicas y conceptos vistos en el resto del curso: patrones de navegación, animaciones en Xamarin.Forms, uso de servicios REST, RSS, SQLite, MVVM, IoC…

Si te resulta interesante, puedes acceder a más información en el siguiente enlace. Espero sin duda que ayude a crecer la comunidad de desarrolladores Xamarin. Estoy deseando ver vuestras aplicaciones!

Como de costumbre, si tienes dudas o sugerencias relacionadas con la entrada, no dudes en usar los comentarios.

Más información

[Material] Xamarin Dev Days Sevilla

El evento

El pasado sábado 10 de Septiembre, tenía lugar en Sevilla el Xamarin Dev Days. Una jornada con varias sesiones técnicas, taller, regalos y mucho networking.

highres_454015178

El resultado fue un fantástico día de desarrollo Xamarin con la asistencia de todos los asistentes registrados, con muchas preguntas, ayuda y tiempo para charlar entre todos rodeados de un café o unas pizzas.

El material

Pude participar en el evento con una de las sesiones. Nos centramos en el desarrollo de aplicaciones móviles multiplataforma utilizando Xamarin.Forms:

Comenzamos por una introducción de conceptos básicos, primera demo aplicando MVVM y terminamos repasando todas las últimas novedades como DataPages, Native Embedding o la creación de de efectos.

En cuanto a las demos técnicas realizadas, las tenéis disponible en GitHub:

Ver GitHub

Quisiera terminar añadiendo algunos agradecimientos. Comienzo por los chicos de WorkINCompany por las instalaciones y toda la ayuda; a Plain Concepts y DevsDNA por su patrocinio y permitir contar con la sala y comida para los asistentes (muchas gracias); a SyncFusion y Xamarin también por patrocinar el evento, los asistentes quedaron encantados con los goodies y licencias; a mis compañeros Josué Yeray y Marcos Cobeña por sus demos y ayudar con todo y por supuesto a los asistentes. Gracias a todos, no es muy habitual que todos y cada uno de los registrados asistan. Si además están todo el día y con preguntas constantes, hace que todo sea tan apasionante y divertido que…¿cuándo la próxima?.

Más información

[Material] React Native vs Xamarin

El evento

El pasado 08 de Septiembre, desde Lemoncode, se organizaba un evento centrado en desarrollo móvil multiplataforma, realizando una comparativa de dos de las opciones más uitlizadas actualmente, Xamarin y React.

Xamarin VS React
Xamarin VS React

Un servidor junto a mi compañero en Plain Concepts, Carlos Fernández, realizamos una comparativa de ambas opciones donde vimos:

  • Introducción. Análisis de aporte, funcionamiento y demos básicas.
  • Código!. Comparamos el desarrollo de una aplicación haciendo uso de servicio REST, mapas, la cámara, etc.
  • Otras opciones. Herramientas extras, estado y madurez, etc.

El material

En mi parte me centré en el desarrollo Xamarin, viendo desde una introducción inicial hasta el desarrolo de una aplicación completa. La presentación la tenéis disponible a continuación:

Toda la sesión fue grabada y podéis acceder a la misma en cualquier momento:

En cuanto a las demos técnicas realizadas, las tenéis disponible en GitHub:

Ver GitHub

Quisiera terminar añadiendo algunos agradecimientos. Gracias a todos los asistentes por asistir además de la constante participación con preguntas, gracias a Braulio Diez y los chicos de Lemoncode por toda su ayuda y organización y a Carlos Fernández por sus demos en la parte de React. Espero que os haya gustado. Nos vemos en la próxima!

Más información

[Evento SVQXDG] Xamarin Dev Days en Sevilla!

XamarinEl evento

Xamarin Dev Days son una serie de eventos celebrados a lo largo de todo el mundo que ofrecen la posibilidad de conocer las últimas novedades relacionadas con el desarrollo Xamarin, poder disfrutar de talleres y por supuesto, compartir momentos de networking.

Xamarin Dev Days
Xamarin Dev Days

La agenda:

• 9:00AM Registro y bienvenida.

• 9:30 – 10:10AM Introducción a Xamarin. Introducción a los conceptos básicos tanto de Xamarin Classic como de Xamarin.Forms así como a la integración con Visual Studio, Xamarin Test Cloud, etc. Por Josué Yeray.

• 10:20 – 11:00AM Xamarin Forms. Tras una introducción a conceptos básicos se verá como estructurar el proyecto y una serie de buenas prácticas para compartir la mayor cantidad de código posible. Finalmente se terminará con las últimas novedades como Xamarin.Forms Previewer, DataPages, Themes o Native Embedding. Por Javier Suárez.

• 11:10 – 11:50AM Xamarin + Azure. Gracias al Azure podemos crear servicios de backend, notificaciones push y otras características esenciales de forma compartida. En esta sesión aprenderemos como sacarle partido a Azure desde nuestras aplicaciones Xamarin. Por Marcos Cobeña.

• 12:00 – 2:00PM Hands on Lab. ¿Crear una aplicación Xamarin paso a paso con MVVM, uso de servicios web y accediendo a características de cada plataforma?. En este taller realizaremos una aplicación con esas características entre todos. Anímate y ven con tu portátil preparado!

• 2:00 – 3:00PM Comida.

• 3:00 – 4:00PM Hands on Lab.

El lugar

El evento se celebrará en el WorkINCompany. Dirección detallada:

Calle Rioja 13, 1º C, Sevilla

WorkINCompany
WorkINCompany

La fecha

El evento tendrá lugar el próximo Sábado, 10 de Septiembre de 9:00h a 16:00h. Tendremos tres sesiones técnicas de  40 minutos de duración cada una junto a un taller de 3 horas de duración. Además contaremos con regalos y sorpresas.

¿Te apuntas?

Más información

[Material XDev Madrid] WinObjc: De iOS a Windows y extendiendo Xamarin.Forms

El evento

El pasado 09 de Agosto, desde el grupo XDev en Madrid, se organizaba un evento veraniego centrado en desarrollo móvil multiplataforma, con temas como convertir aplicaciones de iOS a UWP o extender Xamarin.Forms, además de tener momentos para el networking y algun que otro detalle con los asistentes.

El material

Pude participar en el evento con dos sesiones.

En la primera de ellos, nos centramos en el Windows Bridge para iOS, WinObjC. Convertimos algunas aplicaciones iOS a UWP e incluso vimos como añadir características específicas de la plataforma Windows como el uso de Live Tiles.

En la segunda sesión, nos centramos en como extender Xamarin.Forms para poder acceder a características específicas de cada plataforma, crear nuevos controles o efectos con el objetivo de ofrecer la mejor experiencia posible en cada plataforma, aun compartiendo gran parte de la interfaz de usuario.

En cuanto a las demos técnicas realizadas, las tenéis disponible en GitHub:

Ver GitHub

Quisiera terminar añadiendo algunos agradecimientos. Gracias a todos los asistentes por asistir además de la constante participación con preguntas, en estas fechas y con tan poca antelación en el anuncio del evento es destacable; gracias a Dachi Gogotchuri por toda la ayuda en la organización y gracias a Liferay por sus increíbles instalaciones cediéndonos una sala. Nos vemos en la próxima!

Más información

[Evento XDev Madrid] WinObjc: De iOS a Windows y extendiendo Xamarin.Forms

600_449727003.jpegIntroducción

A finales del año pasado nació el grupo de usuario XDev en Madrid, grupo de desarrolladores multiplataforma de Madrid.

Aprovechando visita a la capital, ¿algo mejor que organizar un evento junto a un poco de coworking?

El evento

El evento tendrá lugar el próximo Martes, 09 de Agosto y contará con dos sesiones:

  • 19:00h – 20:00h – WinObjc: Cruzamos el puente desde iOS a Windows! ¿Tienes una aplicación iOS?, ¿quieres reaprovechar tus conocimientos y código Objective-C para acceder a la plataforma universal Windows?. En esta sesión conoceremos el Bridge de Windows para iOS, convertiremos algunas aplicaciones iOS a UWP e incluso veremos como añadir características específicas de la plataforma Windows como el uso de Live Tiles por ejemplo. ¿Te apuntas?
  • 20:00h – 21:00h – Profundizando y extendiendo Xamarin.Forms Xamarin.Forms es un framework que nos añade una capa de abstracción permitiendo desarrollar la interfaz de nuestras aplicaciones móviles multiplataforma una única vez, compartiendo el código de la UI. Veremos como crear aplicaciones con Xamarin.Forms además de centrarnos en cómo acceder a características propias de cada plataforma mediante la creación de servicios o Custom Renders.

Se realizará en Liferay en sus oficinas de Paseo de la Castellana, 280, 28046 Madrid.

¿Te apuntas?

Más información