Entradas

Mostrando las entradas etiquetadas como iOS

Adiós a Mono en .NET MAUI: qué cambia con CoreCLR en .NET 11

Imagen
Durante años, desarrollar aplicaciones móviles con C# ha significado convivir con dos mundos dentro de .NET. El backend, las aplicaciones de escritorio y los servicios en la nube utilizaban CoreCLR, mientras que Android, iOS y Mac Catalyst seguían ejecutándose sobre Mono. En .NET 11 esa separación empieza a desaparecer: CoreCLR pasa a ser el runtime predeterminado de .NET MAUI también en las plataformas móviles. El cambio es importante, pero conviene interpretarlo bien. No significa que tengamos que reescribir la interfaz ni abandonar XAML, los handlers o nuestras bibliotecas habituales. Lo que cambia está más abajo: es el motor que ejecuta el código administrado, gestiona la memoria, compila métodos y proporciona herramientas de diagnóstico. Mono fue la pieza que hizo posible .NET en móviles Hablar de esta transición como si Mono hubiera sido un error sería injusto. Mono llevó C# a entornos donde originalmente .NET no podía ejecutarse. De MonoTouch y MonoDroid nacieron Xamarin...

Evitar un crash en iOS al hacer scroll automático en un chat .NET MAUI

Imagen
Esta semana el caso mas interesante no fue un error grande, sino uno de esos fallos de interfaz que solo aparecen cuando la aplicación empieza a correr en un dispositivo real, con listas virtualizadas, filas de altura variable y eventos que llegan en momentos poco cómodos. El sintoma era serio: en iOS, la app podia cerrarse al recibir o cargar mensajes en un chat. La operación que parecía inocente era el scroll automático al final de la conversación, el dato ya estaba en la coleccion, pero la vista nativa todavía no siempre tenia preparada la fila correspondiente. El contexto En una pantalla de chat, hacer scroll al ultimo mensaje parece una accion sencilla, cuando llega un mensaje nuevo, se actualiza la coleccion y se pide al listado que se posicione al final: var item = messages[messages.Count - 1]; listView.ScrollTo(item, position: ScrollToPosition.End, animated: false); El problema es que en una lista real no hay una equivalencia instantanea entre "el elemento ya e...

Mi propio pipeline local para publicar .NET MAUI iOS en TestFlight

Imagen
En este post explico cómo monté un pequeño pipeline local para publicar una app .NET MAUI iOS en TestFlight sin depender de un servicio externo de CI. La idea final fue: Visual Studio en Windows -> ejecuta una External Tool -> conecta por SSH al Mac mini -> el Mac compila la app iOS -> genera la IPA -> sube la IPA a TestFlight 1. Separar el repositorio de los secretos El primer aprendizaje importante fue no mezclar el repositorio Git con los secretos ni con scripts locales que necesitan permisos de ejecución. Por ejemplo, podemos tener el repositorio en: /Users/usuario/Builds/MiApp.Mobile Y el pipeline local en una carpeta independiente: /Users/usuario/LocalMagic Creamos la estructura: mkdir -p /Users/usuario/LocalMagic/secrets mkdir -p /Users/usuario/LocalMagic/logs 2. Preparar los archivos necesarios En la carpeta de secretos coloqué los siguientes archivos: ios_distribution.p12 AuthKey_XXXXXXXXXX.p8 AppStore_Profile.mobileprovis...

Cómo simplifiqué la publicación de aplicaciones iOS en .NET MAUI gracias a Codemagic

Imagen
Artículo basado en mi experiencia real probando Codemagic para automatizar la compilación y publicación de una aplicación iOS desarrollada con .NET MAUI. Introducción Llevo años desarrollando aplicaciones con tecnologías Microsoft y, en los últimos tiempos, .NET MAUI se ha convertido en una pieza importante dentro de mi trabajo diario. La idea de poder compartir gran parte del código entre Android e iOS es muy atractiva, pero si hay una plataforma que sigue generando más fricción de la deseada, esa es iOS. Certificados, perfiles de aprovisionamiento, App Store Connect, TestFlight, Xcode, versiones de macOS, versiones de iOS, claves privadas… publicar una aplicación iOS puede convertirse fácilmente en una cadena de pequeños obstáculos. Hace unos días decidí probar Codemagic como alternativa para automatizar este proceso y la primera impresión ha sido muy positiva. Tanto, que me ha hecho replantearme por completo cómo quiero gestionar las publicaciones iOS a partir de ahora. ...

Cómo implementar notificaciones push en Xamarin iOS

Imagen
Imagen de  TeroVesalainen  en  Pixabay   Si has iniciado el desarrollo de una aplicación móvil, casi con total seguridad uno de los principales requerimientos será la necesidad de recibir notificaciones push, en las siguientes lineas veremos paso a paso como poner en pie la recepción de notificaciones remotas en dispositivos iOS. Configuración, generación y obtención del certificado Lo primero que vamos a necesitar es la creación de un certificado de "Push Notifications" para nuestra aplicación, para ello tendremos que acceder al área de miembros de Apple Developer . Una vez que hayamos accedido al área, tendremos que pulsar sobre la opción "Certificates, IDs & Profiles": Partiendo de la base que ya hemos creado el identificador para nuestra aplicación, lo siguiente que tenemos que hacer es editar los datos de configuración del AppID: Una vez dentro de los datos de edición de nuestro AppID, buscamos la opción de "Push Notifications...

Notificaciones agrupadas en iOS

Imagen
Si tu app usa notificaciones locales y deseas agruparlas para organizar un poco mejor la barra de estado del dispositivo móvil, quédate unos minutos a leer esta entrada, seguro que te interesa. Haciendo un poco de historia, a partir de la versión de iOS 12, el sistema operativo ya gestiona de una manera inteligente las agrupaciones en la pantalla de estado de notificaciones, de forma predeterminada esta agrupación se realiza por aplicación, pero si queremos ir un paso más allá y organizar en base a otros criterios, tenemos que pasar a la acción y tirar algunas líneas de código. Por ejemplo, imagínate una aplicación de mensajería que da soporte a un comercio electrónico y esta recibe notificaciones de cada cliente potencial, para una mejor experiencia de usuario lo más idóneo es agrupar los mensajes en base a cada cliente, de manera que el usuario pueda ver de un vistazo los diferentes mensajes de cada comprador. Vamos a ver los pasos necesarios para realizar en la plataforma iO...

Qué necesito para ser desarrollador de aplicaciones móviles (2ª parte)

Imagen
En el post anterior  ya comentamos los requisitos y cuestiones que son necesarias para ser desarrollador y poder publicar tus primeras aplicaciones móviles en las tiendas de Play Store y App Store, pero quieres dar un paso más, y necesitas publicar en nombre de una compañía te harán falta completar los siguientes pasos que voy a enumerarte. Publicar aplicaciones empresariales en Play Store de Google En este aspecto hay poco que añadir, tan solo establecer el nombre del programador, en este caso concreto deberíamos indicar el nombre de la compañía o nombre de empresa con el que queremos aparecer en la tienda. Para ello solo tienes que acceder a la Google Play Console  y pulsar sobre la opción Configuración , situada en la parte inferior izquierda. Además será necesario indicar una dirección física, un correo electrónico, junto con un número de teléfono. Publicar en Play Store en nombre de una empresa es relativamente sencillo. Publicar aplicaciones empresariales...

Qué necesito para ser desarrollador de aplicaciones móviles (1ª parte)

Imagen
Antes de aventurarte en el apasionante mundo del desarrollo de aplicaciones móviles es interesante que conozcas que cuestiones vas a necesitar para unirte como desarrollador en las plataformas de Google Android e iOS de Apple. Abrir una cuenta de desarrollador de Google Para abrir una nueva cuenta como desarrollador tendrás que abrir un navegador y acceder a la siguiente dirección web:  https://play.google.com/apps/publish/signup/  , mediante este enlace podrás completar el registro como desarrollador de Google, es importante que sepas necesitarás una cuenta de Gmail de Google, puedes usar una personal pero si te vas a enfocar a un uso más profesional te recomiendo uses una con dominio propio. Seguidamente una vez completado los datos necesarios del registro, tendrás que rellenar la información personal correspondiente al método de pago. El coste de adhesión como desarrollador de Google a día de hoy es de 25 dólares, y se trata de un pago único que se realiza u...

Distribución de aplicaciones iOS en App Store mediante Visual Studio 2019

Imagen
En la nueva actualización de iOS 13 Apple ha decidido prescindir de la herramienta Application Loader para la subida y publicación de las aplicaciones en la tienda, pero además tenemos un problema añadido y es que la publicación desde Visual Studio dependiendo de la ruta donde resida nuestro proyecto en ocaciones podemos recibir este error: Para poder seguir subiendo nuestras builds a la Apple Store Connect hay que seguir el siguiente procedimiento: Realizar el archivo de nuestro proyecto iOS, esto lo hacemos pulsando con el botón derecho del ratón sobre el proyecto iOS, nos debe aparecer una opción llamada "Archivar". Pulsar sobre el boton "Distribuir...", en este punto es donde recibimos el error mencionado anteriormente y que puedes ver en la captura. Para resolver este problema nos tendremos que dirigir al Mac y abrimos XCode, pulsamos sobre el menú de "Window" y la opción "Organizer", aquí estaríamos ante una pantalla similar a la ...