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

Dada la gran cantidad 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 automatizarse.

¿Es esto solo un rito de iniciación o hay razones para implementarlo de esta manera que me faltan?

  • ¿Hay razones por las que algunos de estos pasos TIENEN que ser manuales?
  • ¿Alguien ve una forma de mejorar esto o alguien sabe de alguna automatización/scripts que simplifiquen esto para los desarrolladores nuevos en la plataforma?
Lo siento, no debería haber asumido que sabías que podías editar la publicación. Siéntete libre y lo reabriré.
@calavera: gracias por sugerir que mejore la pregunta, había sido "despotricante", un poco mejor ahora.
no hay problema, todos necesitan despotricar a veces :) y lo siento nuevamente por no especificar que volvería a abrir en la edición.

Respuestas (3)

El mayor problema es la generación de claves. La seguridad extrema de iOS es que solo las aplicaciones firmadas pueden ejecutarse en sus dispositivos, a menos que las haya liberado e instalado un paquete para eludir esto, generalmente para la implementación sin licencia o la piratería de aplicaciones.

Debe generar una clave basada en la autoridad de certificación de Apple, o CA. Luego lo subes al portal y Apple lo aprueba, siempre que seas un desarrollador pago. Cada vez que implementa una aplicación, ya sea en la tienda o en su dispositivo para probarla, firma la aplicación con su firma digital, que está respaldada por Apple. Esto le dice a su dispositivo, o a los dispositivos de sus evaluadores 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 está manipulada (ya que la firma del desarrollador no es válida con solo voltear un bit en la aplicación) y que se pasa a través de Apple. cheques al estar alojado en la tienda. Esta es una doble garantía de la seguridad.

Los perfiles de aprovisionamiento son otra bestia. Anteriormente, Apple te permitía "cargar" una aplicación en cualquier cantidad de dispositivos que quisieras. Esto significaba que podía pasar por alto la App Store y vender aplicaciones usted mismo como una descarga, igual que las aplicaciones de escritorio. Apple no aprobó esto y desde entonces lo ha limitado a 100 dispositivos por año en una sola cuenta de desarrollador. Agrega sus dispositivos al portal por su UDID, su huella digital única, y necesitará obtener esto de cualquier dispositivo en el que desee probar su aplicación beta o implementar adhoc. Dado que cuesta aproximadamente $ 0.99 / año / dispositivo, es prohibitivamente costoso vender aplicaciones de esta manera, pero le permite tener muchos espacios de prueba beta. Por supuesto, un perfil de aprovisionamiento es la lista de qué dispositivos pueden ejecutar qué aplicaciones firmadas por qué desarrollador.

En Xcode recientes, una vez que haya establecido su clave (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 le 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 preocupado por la automatización de la configuración inicial, ya que es solo un proceso único.

(Lo siento, estoy tratando de trabajar en mi prolijidad).

-1 Respuesta larga, pero no veo cómo responde las preguntas del OP.
¿Lo leíste? Explico por qué hay que hacer las cosas como se hacen. Gracias por -1'ing mí por minuciosidad.
Lo leí. Se lee más como instrucciones sobre cómo seguir el intrincado proceso de creación de perfiles en lugar de explicar por qué, pero realmente no hay forma de que ninguno de nosotros sepa eso, ¿verdad? Lo siento, pero el -1 se queda.

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

No estoy preocupado por las pruebas: quiero poder implementar mis aplicaciones. Me preguntaba por qué hay un proceso de 30 pasos para esta parte básica y fundamental del desarrollo del iPhone. +! por la gran información. no sabia de eso

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

Al final, esta es una decisión de Apple, y nunca han dicho por qué es así. Así es la vida.