4 votos

¿Por qué el actual proceso de aprovisionamiento para el desarrollo del iPhone está implementado de la forma en que lo está?

Dado el gran número de ejemplos de problemas con los pasos manuales necesarios para aprovisionar los dispositivos e instalar las aplicaciones utilizando el SDK para desarrolladores, me pregunto por qué Apple tomó este camino.

En concreto, el proceso parece ser propenso a errores y probablemente podría automatizarse.

¿Es sólo un rito de paso o hay razones para implementarlo de esta manera que me estoy perdiendo?

  • ¿Hay razones para que algunos de estos pasos TENGAN que ser manuales?
  • ¿Alguien ve una manera de mejorar esto o sabe de alguna automatización/scripts que hagan esto más simple para los desarrolladores nuevos en la plataforma?

7voto

Török Gábor Puntos 1133

El mayor problema es la generación de claves. La seguridad más estricta de iOS es que sólo se permite la ejecución de aplicaciones firmadas en los dispositivos, a menos que se haya hecho jailbreak y se haya instalado un paquete para eludir esto, normalmente para el despliegue sin licencia o la piratería de aplicaciones.

Es necesario generar una clave basada en la autoridad de certificación de Apple, o CA. Luego la subes al portal y Apple la aprueba, siempre que seas un desarrollador de pago. Cada vez que despliegas una aplicación, ya sea en la tienda o en tu dispositivo para probarla, la firmas con tu firma digital, que está respaldada por Apple. Esto indica a tu dispositivo, o a los dispositivos de tus probadores o clientes, que la aplicación es de un desarrollador que es quien dice ser. Dado que la principal forma de obtener una aplicación en tu dispositivo es a través de la tienda, tienes la confianza de que no está manipulada (ya que la firma del desarrollador no es válida con la vuelta de un solo bit en la aplicación) y que ha pasado por los controles de Apple al estar alojada en la tienda. Se trata de una doble garantía de seguridad.

Los perfiles de aprovisionamiento son otra cosa. Antes, Apple te permitía "cargar lateralmente" una aplicación en el número de dispositivos que quisieras. Esto significaba que podías eludir la App Store y vender las aplicaciones tú mismo como una descarga, de forma similar a las aplicaciones de escritorio. Apple no lo aprobó y, desde entonces, lo limitó a 100 dispositivos por año en una sola cuenta de desarrollador. Los dispositivos se añaden al portal mediante su UDID, su huella digital única, y es necesario obtenerla de cualquier dispositivo en el que se desee probar la versión beta de la aplicación o desplegarla ad hoc. Dado que cuesta aproximadamente 0,99 dólares al año por dispositivo, resulta prohibitivo vender aplicaciones de este modo, pero permite disponer de un gran número de espacios para pruebas beta. Por supuesto, un perfil de aprovisionamiento es la lista de los dispositivos que pueden ejecutar qué aplicaciones firmadas por qué desarrollador.

En los últimos Xcode, una vez que has establecido tu clave (que sería difícil de automatizar desde dentro de Xcode), puedes conectar cualquier iDevice, abrir el organizador y hacer clic en "Usar para el desarrollo". Xcode te pedirá tus credenciales y luego añadirá automáticamente el dispositivo al portal y creará un perfil de aprovisionamiento para ti. Una vez que hayas hecho la configuración inicial, es básicamente un clic para añadir un dispositivo adicional. No creo que a Apple le preocupe tanto que la configuración inicial esté automatizada, ya que se trata de un proceso único.

(Lo siento, estoy tratando de trabajar en mi larga duración).

4voto

michael Puntos 285

El libre TestFlight tiene como objetivo ayudar a la distribución de aplicaciones de prueba, aunque no sé si facilita las pruebas en tu propio dispositivo.

-1voto

Mike Polen Puntos 3173

No he visto muchas especulaciones sobre por qué lo hacen así, aparte de decir que probablemente está diseñado pensando en la seguridad del dispositivo y del usuario para mantener a la "chusma" fuera del proceso (es decir, a los creadores de software malicioso). Sin embargo, estás en buena compañía con tus frustraciones respecto a cómo funciona todo el proceso. Por lo que sé, aparte de preparar un dispositivo para una prueba local con cableado, no hay forma de automatizar nada de esto.

Al final, esto es una decisión de Apple, y nunca han dicho por qué es así. C'est la vie.

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X