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

4

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

Específicamente, el proceso parece ser propenso a errores y probablemente podría ser automatizado.

¿Esto es solo un rito de pasaje o existen razones para implementarlo de esta manera que me estoy perdiendo?

  • ¿Hay razones por las que algunos de estos pasos TIENEN que ser manuales?
  • ¿Alguien ve una forma de mejorar esto o alguien sabe de algunos automatizaciones / scripts que hacen esto más simple para los desarrolladores nuevos en la plataforma?
pregunta Tim 24.01.2011 - 04:14

3 respuestas

7

El mayor problema es la generación de claves. La seguridad incondicional de iOS es que solo las aplicaciones firmadas tienen permiso para ejecutarse en sus dispositivos, a menos que lo haya liberado e instalado un paquete para evitar esto, normalmente para el despliegue sin licencia o el pirateo de aplicaciones.

Necesita generar una clave basada en la autoridad de certificación de Apple o CA. Luego lo subes al portal y Apple lo aprueba, siempre y cuando seas un desarrollador pagado. Cada vez que implementa una aplicación, ya sea en la tienda o en su dispositivo para realizar pruebas, la firma con su firma digital, que está respaldada por Apple. Esto le dice a su dispositivo, o a los dispositivos de sus probadores o clientes, que la aplicación es de un desarrollador que es quien dice ser. Dado que la forma principal de obtener una aplicación en su dispositivo es a través de la tienda, tiene la confianza de que no se manipula (ya que la firma del desarrollador no es válida con solo voltear un bit en la aplicación) y de que se ha pasado a través de Apple. cheques por estar alojados en la tienda. Esta es una garantía doble de la seguridad.

Los perfiles de aprovisionamiento son otra bestia. Anteriormente, Apple le permitía "cargar" una aplicación a la cantidad de dispositivos que quisiera. Esto significaba que podía pasar por alto la tienda de aplicaciones y vender aplicaciones usted mismo como una descarga, no diferente a las aplicaciones de escritorio. Apple no lo aprobó y, desde entonces, lo ha limitado a 100 dispositivos por año en una sola cuenta de desarrolladores. Usted agrega sus dispositivos al portal por su UDID, es una huella digital única, y tendría que obtener esto desde cualquier dispositivo en el que desee realizar una prueba beta de su aplicación o despliegue ad hoc. Debido a que cuesta aproximadamente $ 0.99 / año / dispositivo, es prohibitivamente caro vender aplicaciones de esta manera, pero le permite tener muchas ranuras de prueba beta. Por supuesto, un perfil de aprovisionamiento es la lista de los dispositivos que pueden ejecutar las aplicaciones firmadas por el desarrollador.

En Xcode's recientes, una vez que haya establecido su clave (lo que sería difícil de automatizar desde dentro de Xcode), puede conectar cualquier iDevice, abrir el organizador y hacer clic en "Usar para desarrollo". Xcode solicitará sus credenciales y luego agregará automáticamente el dispositivo al portal y creará un perfil de aprovisionamiento para usted. Una vez que haya realizado la configuración inicial, es básicamente un clic para agregar un dispositivo adicional. No creo que Apple esté tan preocupada por la automatización de la configuración inicial, ya que es solo un proceso de una sola vez.

(Lo siento, estoy tratando de trabajar en mi largo aliento)

    
respondido por el wjl 24.01.2011 - 08:14
4

El servicio gratuito TestFlight tiene como objetivo ayudar con la distribución de la aplicación de prueba, aunque no sé si facilita la prueba por su cuenta dispositivo.

    
respondido por el Nathan Greenstein 24.01.2011 - 04:31
-1

No he visto mucha especulación sobre por qué tienen que ser así, aparte de decir que probablemente está diseñado teniendo en cuenta la seguridad del dispositivo y del usuario para mantener el "riff raff" fuera del proceso (es decir, creadores de software malicioso). Sin embargo, está en buena compañía con sus frustraciones sobre cómo funciona todo el proceso. Por lo que puedo decir, aparte de preparar un dispositivo para realizar pruebas locales, no hay forma de automatizar nada de esto.

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

    
respondido por el Philip Regan 24.01.2011 - 18:21

Lea otras preguntas en las etiquetas