Cómo desarrollar aplicaciones para Apple CarPlay

Para empezar a desarrollar aplicaciones para Apple CarPlay, debes tener en cuenta algunas características previas de su entorno e interfaz, que te ayudarán a entender mejor el funcionamiento de este software disponible en los vehículos con pantallas compatibles con iOS.

¿Qué es CarPlay y cómo funciona?

CarPlay es un software disponible en los vehículos que permite utilizar de forma segura tu iPhone en el coche evitando posibles distracciones. Al conectar por cable tu iPhone a Carplay visualizarás todas las aplicaciones que lo integren, permitiendo obtener indicaciones de tus aplicaciones de navegación, hacer llamadas, enviar y recibir mensajes, escuchar música, etc.

La integración de CarPlay en las aplicaciones iOS proporciona una interfaz de usuario personalizada para su visualización en la pantalla de un vehículo. La interfaz de las pantallas disponibles destaca por su minimalismo permitiendo la visualización de contenido y las acciones que no sean un riesgo para la conducción.

Antonio Serrano Gómez
Antonio Serrano GómezTeam Lead iOS

Cómo activar los permisos para empezar a desarrollar.

Para desarrollar aplicaciones con la integración de CarPlay es necesaria una solicitud a Apple, tras su revisión podrás generar un provisioning profile con el permiso activado. La revisión por parte de Apple puede tardar más de un mes, o incluso puede ser rechazado, por lo cual es importante tener en cuenta este riesgo de cara al desarrollo. Te dejo por aquí el link al formulario de solicitud.

Estos son los diferentes permisos en función del tipo de aplicación:

Carplay Permisos

Cómo empezar a configurar el Proyecto.

Tras completar el proceso de solicitud con Apple el siguiente paso es configurar el proyecto para la visualización de las escenas en este nuevo dispositivo. Es importante tener en cuenta que al ser una funcionalidad actual si tu proyecto no implementa el ciclo de vida de la aplicación a través de escenas será necesario actualizarlo. Para configurar el proyecto se seguirán los siguientes pasos:

Añadir permiso

Para ello hay que añadir el identificador del permiso al fichero *.entitlements del target correspondiente como se muestra en la imagen, en este caso habilitamos la app como recarga de vehículo eléctrico.

Declaración de la escena

Este proceso es necesario para que la app establezca la clase encargada de gestionar el ciclo de vida de la escena de CarPlay. Es importante tener en cuenta que al ser una funcionalidad actual si tu proyecto no implementa el protocolo «UIWindowSceneDelegate» será necesario actualizarlo. Esta clase será la encargada de establecer la plantilla inicial de la aplicación que se mostrará al abrir la aplicación en el vehículo.

En el caso específico de aplicaciones de tipo navegación es necesario añadir también una clase que implemente el protocolo “CPTemplateApplicationDashboardSceneDelegate” para controlar la vista principal.

Tipos de plantillas de Apple Carplay

Las pantallas que se muestran en AppleCar son muy diferentes a las que se visualizan en la app de iPhone. Las vistas que se muestran son plantillas predefinidas por el framework muy limitadas en cuando a personalización no permiten personalizar fuentes, colores, ni la modificación funcional de las plantillas mediante herencia.

Además hay que tener en cuenta que de los tipos de plantillas proporcionados se pueden usar unos u otros según el tipo de app que se esté implementando:

En el caso específico de las apps de tipo navegación se permite mostrar una vista 100% personalizada respetando la guía de Apple para evitar distracciones al conductor y sin eventos sobre dicha vista. Las acciones se realizarán a través de la interfaz de la plantilla que te permite hacer zoom in / zoom out, centrar en la ubicación del usuario y mover la zona del mapa.

Otra de las cosas importantes a destacar es, que el uso inadecuado de clases es tratado por la app como crashes en tiempo de ejecución.

Algunos ejemplos de uso inadecuado son:

  • Añadir “CPTemplateApplicationDashboardSceneDelegate” en aplicaciones que no son del tipo navegación.
  • Aplicar herencia de templates de CarPlay.
  • Uso de plantillas no soportados por el tipo de aplicación.

Las plantillas disponibles para Apple Carplay son los siguientes:

Action Sheet (Hoja de acciones)

Elemento típico en las interfaces iOS en el cual se muestra un listado de dos o más acciones para que el usuario seleccione la que prefiera.

Alertas

También es un elemento de confirmación de acciones bastante común en las interfaces móviles. Consta de título, subtítulo y uno o más botones.

Contacto

Esta plantilla permite mostrar la información de una persona o empresa. Consta de imagen, título, subtítulo y botones de acción.

Grid (Parrilla)

Es un elemento de tipo menú que consta de un listado de elementos con icono y texto. Además en la zona superior tiene una barra de navegación con botones a la derecha y a la izquierda y un título en la zona central.

Información

Este componente proporciona un listado de elementos con titulo y detalle ambas cadenas de texto. Este elemento es perfecto para mostrar un listado de características. Los elementos de la lista no son seleccionables. La visualización de listado permite dos modalidades:

  • Título y debajo el detalle
  • Titulo a la izquierda y detalle a la derecha

Listado

Es un listado básico en el cual se muestran los elementos con titulo, subtitulo, flecha a la derecha e icono. Permite la selección de elementos para realizar acciones. En la documentación especifica limitación a 12 elementos por lo cual es posible que se deba hacer algún control para el caso de que existan más elementos a mostrar.

Reproductor

Este componente es específico de las aplicaciones de audio y es uno de los más completos. Permite mostrar una gran cantidad de información de la reproducción en curso así como diferentes acciones.

  • Visualización de imagen de artista o álbum.
  • Nombre de canción, artista, álbum, etc.
  • Acceso a siguiente / anterior canción.
  • Pausa / Play.

Punto de interés

Este componente es el que se utiliza para mostrar elementos en el mapa, consta de un mapa con los controles de zoom out, zoom in y movimiento lateral. Además en la zona izquierda muestra un listado seleccionable de los elementos. El template también se encarga de agrupar en clusters los diferentes elementos aunque el icono de un clúster agrupado no es editadle se muestra el que presenta por defecto. El máximo de puntos de interés que se pueden mostrar de forma simultánea son 12.

Pestañas

Este menú es similar al proporcionado por las apps para iOS mediante el cual se hace el cambio de una pantalla por otra, en este caso hace el cambio entre una u otra plantilla. El limite máximo es de 5 elementos.

Estos son los principales conceptos que debemos de tener en cuenta para poder empezar a desarrollar aplicaciones para Apple Carplay. Una vez desarrollada la aplicación, deberemos subirla como cualquier otra y a través del mismo procedimiento a la App Store para que los usuarios puedan descargarla y usarla de forma segura en sus coches.

Si necesitas más información para empezar a desarrollar tu app para CarPlay te dejo unos enlaces a continuación que de seguro te serán de ayuda:

¡Suscribirme a Blog!
¡Quiero más información!

Otros artículos relacionados

2021-12-02T14:54:02+02:002 diciembre, 2021|

¡Compártelo en tus redes sociales!

Ir a Arriba