Xamarin

Mobile Center | Conectar con Google Play para distribuir Apps

visual-studio-ms-preview-thumbnail

Mobile Center, para los que no lo conozcáis, es un servicio de Microsoft, incluído dentro de Microsoft Azure que permite gestionar el ciclo de vida de nuestras Apps para iOS, Android y Windows desde un único lugar. Probablemente en otro artículo hable largo y tendido sobre las características de Mobile Center, así que estad atentos.

Entre las características de este servicio, se encuentra la posibilidad de publicar las aplicaciones para Android en Google Play sin necesidad de pasar por la consola de Google, lo que, a groso modo, simplifica las tareas de gestión de actualizaciones de nuestras Apps.

Continue reading…

Evento | Mobile Dev Day en Tenerife

El próximo 21 de enero, tendrá lugar un nuevo evento organizado por TenerifeDev, Mobile Dev Day, en el que trataremos cómo desarrollar aplicaciones para móviles usando Xamarin. En esta ocasión contaremos con sesiones y taller impartidos por algunos de los mejores desarrolladores con Xamarin a nivel nacional y MVPs de Microsoft.

Mobile-Dev-Day

El espacio donde se realizará el evento será TFCoworkIN que nos cede el Parque Científico y Tecnológico de Tenerife donde dispondremos de espacio para las sesiones y para el taller. Además, no debéis preocuparos por la comida puesto que DevsDNA con su patrocinio nos proveerá de Pizzas.

La agenda será la siguiente

  • 09.30 – 10.00 => Registro
  • 10.00 – 10.30 => Keynote (PCTT + TenerifeDev)
  • 10.30 – 11.20 => Introducción a Xamarin (Dachi Gogotchuri)
  • 11.30 – 12.20 => Xamarin.Forms (Santiago Porras)
  • 12.30 – 13.20 => Xamarin + Azure (Ciani Afonso)
  • 13:30 – 14:30 => Almuerzo (Pizza por cortesía de DevsDNA)
  • 14:30 – 17:30 => Hands On Labs (Dachi Gogotchuri, Ciani Afonso, Santiago Porras)

Hemos de agradecer a los patrocinadores y colaboradores que nos hayan echado ayudado a hacer esto posible

Patrocinadores

logo_definitivo

Devs_DNA

Colaboradores

Nationale-Nederlanden_mdd

logo_encamina_720-x-356

Xamarin | Solucionar error MT6002 “Could not strip assembly {reference}” al compilar/empaquetar para iOS

poster-wide

En ocasiones, cuando tratamos de avanzar nos encontramos con pequeñas piedras en el camino, piedras pequeñas pero de las que desconocemos su procedencia y… hoy voy a escribir sobre una por si puedo ayudar a alguien a evitar las horas que he pasado indagando en foros, páginas de referencia y documentación en busca de una solución.

Problema

Hoy me he encontrado con este error “MT6002 Could not strip {nombre de una dll referenciada} al tratar de empaquetar una App desde Mac usando tanto Visual Studio for Mac como Xamarin Studio (en alpha). Lo extraño es que cuando ejecutaba la app desde Visual Studio en Windows conectado al Mac, no había problema ninguno, se abría el emulador de iOS y se ejecutaba la aplicación de lujo.

En concreto, mi error ponía lo siguiente “Could not strip assembly /Projects/git/…/…/obj/iPhone/AppStore/mtouch-cache/64/Build/System.Net.Http.Primitives.dll”. (MT6002)

MT6002

Esto impedía que compilara la App desde Mac, aunque sí podía hacerlo cuando lo ordenaba desde Windows (fantasmas) con lo que el problema debía estar en el Mac y no entre el teclado y la silla como pasa habitualmente.

Solución

Tras mucho indagar, horas de tirarme de los pelos y probar diferentes soluciones como, desmarcar “Versión específica” en las propiedades de la referencia que daba problemas, encontré la solución de forma casi sin querer al ver una entrada en el foro de Xamarin que no tenía respuesta ni solución y que remitía a un artículo que hablaba de límites del sistema operativo. Así que como por probar no muere ningún gatito, me tiré a la piscina.

La cuestión es que MacOSX tiene un límite en el número de ficheros en uso que parece que estaba impidiendo que la compilación se completase, o eso parece. Tal y como se indica en el artículo referenciado en la entrada del foro de Xamarin modifiqué estos límites (como administrador) y el problema quedó resuelto.

MT6002-Solution

 

Nota

Esta solución me ha funcionado pero no parece haber funcionado al desarrollador que expuso en el foro de Xamarin el problema y que siguió estos pasos con lo que no doy garantías. Por otro lado, encontré diferentes soluciones a problemas en versiones antiguas de Xamarin que no me resolvieron. Por lo tanto, use it on your own y si te funciona, compártelo.

Enjoy coding!!

Xamarin.Forms | Ocultar la barra de navegación en Android e iOS

posterPara hoy traigo un “workaround” sobre cómo ocultar la barra de navegación en Android cuando estamos trabajando con Xamarin.Forms.

Problema

Cuando creamos una aplicación Xamarin.Forms, por defecto, en Android aparecerá la barra de navegación al hacer uso de NavigationPage. Si no queremos mostrar esta barra de navegación porque hacemos uso de navegación por contenidos y con el botón “back” del propio sistema no es una tarea trivial hasta donde he indagado. Por favor, si tenéis alguna solución más elegante, sencilla y efectiva, compartidla conmigo.

 

Solución

He encontrado varias soluciones para lograr el resultado deseado pero algunas me han parecido más complejas de lo necesario como por ejemplo, sobreescribir el “Tema” Theme.Holo.Light, cosa que sólo funcionaría en Android y habría que buscar la solución para iOS. Pero la que mejor me ha encajado tampoco es muy elegante que digamos (siempre desde mi punto de vista).

Lo que debemos hacer es poner una simple línea de texto en cada una de las páginas

   1: NavigationPage.SetHasNavigationBar(this, false);

 

Con esto ya tendríamos oculta la barra de navegación de iOS y Android, aunque como he comentado, hay que hacerlo página por página siendo algo “latoso” y poco elegante cuando podría haber una solución más simple

 

Referencias

http://developer.xamarin.com/recipes/ios/content_controls/navigation_controller/make_the_nav_bar_disappear/