DEV Community

Luis Diaz
Luis Diaz

Posted on

iOS⚕️HealthKit Ionic Angular 🍎

Me llego un requerimiento donde una aplicacion para un hospital requiere que los datos de salud que recaba el sistema operativo mobil los pueda leer esta app, los datos como: la cantidad de pasos, ritmo cardiaco, presion arterial, etc.

Por su puesto para esto ya tenia de referencia que en el sistema operativo IOS existe una funcionalidad llamada Health/Salud propia del sistema operativo, me eche un clavado sobre la documentacion de ios y menciona que toda la informacion de salud registrada en un telefono ios tiene que ser almacenada por esta dependencia, una practiva que me parece que tiene un beneficio mayor, asi deberia de ser con todo, de esta manera cualquier dispositivo de cualquier marca que use ios ingresara los datos de salud usando la api de HealtKit, esto facilita a cualquier otra aplciacion tomar esos datos para leerlos o escribirlos y que otra app tambien los pueda usar.

Hasta el momento sonaba facil, usar el sdk de healthkit es facil ya que su documentacion es precisa por todo el soporte que hay detras, pero se el proyecto tenia un grado mas de complejidad, que es el uso del framwork ionic; Como se sabe este framwork no usa lenguaje Swift, entonces ahi tuvo que realizar una segunda investigacion, que es poder impleentar codigo nativo de iOS sobre ionic, se encontro que ionic ofrece capacitor, capacitor nos permite crear un plugin para ionic y la ventaja es que propociona la herramienta para crear una version de Android y una version de iOS, por lo que ahora lo complejo seria implementar el SDK de HealthKit en la arquitectura de un plugin y no es la de una app nativa para iOS.

Por su puesto se penso en que no hace falta inventar la rueda, por lo que encontre en un repositorio el siguiente plugin: (https://github.com/perfood/capacitor-healthkit) tenia una buena cantidad de funcionalidades que requeria mi aplicacion, pero aun asi le hacia falta, por lo que siguiente la impplentacion que hico perfood realize un fork del proyecto en la siguiente liga:

Sobre el repositorio orginal realize aportes en la sección de issues como los siguientes:

Image description

Image description

Image description

Donde comentaba como realizar el uso de los permisos sobre el plugin.

Las consideraciones que se tienen que tener son configurar el proyecto ionic sobre Xcode donde se le debe de agregar la configuración de HealthKit, permisos sobre el plugin y hacer uso de la api/plugin.

En mi experiencia el uso de capacitor para ionic es una buena solución pero como toda arquitectura es importante conocerla por completo para poder hacer una implementación exitosa, esto requirió muchas horas de pruebas y compilaciones.

El fork de mi plugin no esta en npm pero puedes usarlo en tu proyecto ionic: (https://github.com/LuisDiaz-ipsilon/capacitor-healthkit).

Si llegas a implementarlo y cuentas con dudas podrias comentarlo como issue sobre mi repo y con gusto te respondo.

Top comments (0)