¿Cómo distribuir aplicaciones iOS?

No son pocas las veces que un cliente nos ha preguntado qué opciones existen para distribuir una app de uso interno.

Con Android el proceso es bastante sencillo, pero con iOS no lo es tanto ya que hay múltiples opciones, cada una con sus pros y sus contras.

En este breve artículo vamos a hacer un repaso por las principales opciones:

 

App Store

Comenzamos con la opción más conocida: A través de la App Store de Apple.

  • A través de un sistema de login bloquearíamos qué usuarios van a poder hacer uso de la misma.
  • Requiere una licencia de desarrollador iOS que cuesta unos 99€/año.

  Puntos a favor

  • Obtenemos visibilidad de nuestra app a nivel mundial (esto puede ser un punto a favor o en contra dependiendo del tipo de app)
  • Ya nos viene dada la infraestructura de distribución, las actualizaciones, etc.

  Puntos en contra

  • Cada actualización ha de ser verificada por Apple, lo cual lleva un par de días normalmente.
  • Apple se queda con el 30% de las ganancias surgidas de las compras de la aplicación.
  • Como he comentado antes, la visibilidad, suponiendo que la app sea para uso interno de nuestros trabajadores o por mucho que tengamos un login, estaremos exponiendo un endpoint como vector de ataque.

 

Programa Enterprise

El sistema de distribución «Enterprise» de Apple nos permite distribuir aplicaciones «in-house». Es decir, nos permite distribuir nuestras aplicaciones directamente desde nuestros servidores.

Con este método, nosotros controlamos el ciclo de distribución, con todo lo malo y lo bueno que eso trae.

  Puntos a favor

  • Podemos desplegar nuevas versiones sin que Apple tenga que revisarlas.
  • Podemos distribuir la app de forma completamente privada. Por ejemplo, desde nuestra intranet.

  Puntos en contra

  • La licencia cuesta 299€/año y el proceso de alta es más complejo y largo.
  • Necesitamos obtener el DUNS para nuestra empresa (identificador único a nivel mundial). Éste es gratuito pero el proceso puede llevar hasta 30 días.
  • No podemos distribuir la aplicación a nadie que no trabaje para nuestra empresa. Es decir, no podemos generar una aplicación para un tercero y firmarla con nuestro certificado «Enterprise».
  • El sistema de notificaciones de nuevas versiones, por ejemplo, tendría que ser desarrollado y controlado desde fuera de Apple.
  • El usuario, una vez instalada la aplicación, ha de seleccionar «Confiar» en la empresa dueña del certificado.
  • Tener cuenta en el programa «Enterprise», no pemite subir aplicaciones a la App Store.

Programa B2B 

Apple tiene un programa especial para la compra/venta de aplicaciones por volúmenes (grandes compras de aplicaciones) y para aplicaciones B2B personalizadas.

En el programa de aplicaciones B2B personalizadas, el desarrollador indica qué compradores pueden acceder a su aplicación, por lo que la app no es pública, y por lo tanto, no está visible en la App Store.

Nosotros controlamos el ciclo de distribución, con todo lo bueno y lo malo que esto trae.

  Puntos a favor

  • El usuario final no es el que realiza la compra de la aplicación, si no que es la empresa quien la realiza a granel, y facilita a cada usuario final un código o cupón. 
  • Las personas que no hayan sido determinadas por el desarrollador, no podrán acceder a la aplicación en el Store, ni instalarla, ni tan siquiera verla.

  Puntos en contra

  • Requiere de un proceso de aprobación similar al del Programa de desarrollador normal (Normalmente son algo más rápidos).
  • El 30% del precio de venta de la app es para Apple (Evidentemente se puede poner un precio de 0€ si lo único que se desea es controlar quién tiene acceso a la app).
  • Las aplicaciones B2B solo están disponibles para las empresas que estén dadas de alta en dicho programa.

 

Distribución Ad-Hoc: 

La distribución «Ad-Hoc» está pensada para realizar pruebas de testeo con un número pequeño de terminales, no para distribuir aplicaciones de producción. Por esto mismo este sistema soporta un máximo de 100 dispositivos. Dispositivos que además deberemos dar de alta.

  Puntos a favor

  • Evitamos el proceso de validación por parte de Apple cada vez que queramos sacar una nueva versión.
  • Distribución privada.
  • Distribución mediante un enlace insertado donde se desee, por ejemplo, en la intranet. Igual que ocurre en el programa «Enterprise», solo que en Ad-Hoc no hay que validar que se confía en la empresa.

  Puntos en contra

  • Limitado a 100 dispositivos. Te permite cambiar unos por otros una vez al año.
  • Cada dispositivo ha de informar de su UDID (Identificador único del dispositivo) para darlo de alta, y solo los UDIDs dados de alta y para los cuales se ha firmado la aplicación, podrán instalarla.
  • Los provisioning profiles en los que se vinculan los UDIDs caducan cada año. Esto significa que como mucho, la aplicación funcionará durante un año.

 

Distribución usando TestFlight: 

«TestFlight» es básicamente lo mismo que «Enterprise» o «Ad-Hoc» (dependiendo de qué licencia tengamos). Aunque en este caso la distribución la realiza Apple, con lo que nos ahorramos parte del trabajo.

Otra opción muy parecida sería HockeyApp.

¡Hasta aquí todo por hoy!

Espero haberte dado solución a tus cuestiones.

Escrito por Sergio Gasca, Senior Developer en Bravent