Nada fácil es el camino de un desarrollador que quiere hacer aplicaciones para el iPhone y que estas esten en el Appstore. Ya bastante difícil es encontrar una idea sustentable, luego desarrollarla y que quede completa, sin bugs, usando las mejores prácticas, documentada y con solidas bases para su versionado y mejoras posteriores. Pero luego de todo esto, vienen las barreras mas fuertes a superar.

El desarrollo de aplicaciones para el iPhone no está siendo de fácil acceso por culpa de la política de admisión de aplicaciones de Apple que es muy resctrictiva, los acuerdos de confidencialidad que entorpecían hasta hace poco la difusión las comunidades de desarrolladores, o las carencias de un API con un buenas, útiles y documentadas funcionalidades.

En Cuoma que es donde trabajo, hace una semana decidimos invertir en la creacion de una unidad de desarrollo de aplicaciones para iPhone. Mi trabajo desde hace unos dias es el de investigar a fondo el Roadmap de una App desde su nacimiento, hasta que esta en la Appstore.

Obviamente lo primero que hice fue buscar en google, sobre el tema, y pude dar con Mikeash y su historia titulada “The iPhone Development Story“.

Todavia no tenemos ninguna aplicacion o juego en proceso de desarrollo, ya que estamos con las primeras reuniones de establecimiento de presupuesto y objetivos del proyecto con dos clientes actuales de la agencia. Por este motivo es que voy a traducir literalmente lo que Mikeash nos cuenta en su artículo. (tambien vi la traducción en applesfera, gracias ya que se me hizo mas fácil hacer el artículo)

1. Inscribirse en el iPhone Dev Center y descargar el SDK. Por motivos que desconozco, no basta con tener una cuenta del Apple Developer Connection, hay que volver a inscribirse en este otro y leer los clásicos textos legales. Haciendo esto podemos empezar a escribir nuestras aplicaciones, compilarlas y probarlas en el simulador. Pero todavia NO instalarlas en nuestro iPhone.

2. Inscribirse en el programa para desarrolladores. Después de completar todos los formularios y leer más legales, podemos enviar la solicitud y esperar la respuesta hasta el siguiente día laboral. Esto tiene un costo de U$S99, y con él obtenemos el derecho a ejecutar nuestras aplicaciones en nuestro propio iPhone.

3. Certificados. Por defecto, un iPhone tan solo puede ejecutar aplicaciones firmadas por Apple y como no podes estar enviándoselas cada vez que queres probar algo, es necesario crear un perfil con el identificador de nuestro teléfono (accesible mediante las Xcode) introduciéndolo en otro formulario de la web de Apple. También necesitamos un certificado con el que firmar nuestras aplicaciones y, por supuesto, tiene que hacerlo Apple. Vamos y abrimos a Keychain Access y en Asistente para Certificados generaremos uno nuevo que tendremos que introducir manualmente (copiando y pegando) en otro formulario de la página.

4. Xcode. Si todo ha ido bien ya podrias experimentar con tus propias aplicaciones en tu iPhone. Si no, espero que con paciencia y leyendo los logs puedas rápidamente encontrar la solucion o a alguien con el mismo problema y seguir sus pasos para resolverlo.

5. ¡Desarrollar! Hasta no hace mucho, se prohibía a los desarrolladores hablar sobre el SDK, lo que dificultaba enormemente el desarrollo en si. Trabajar con cualquier plataforma nueva conlleva dificultades que habitualmente se resuelven en foros y grupos para desarrolladores. Por suerte, Apple ha aflojado con esta politica tan cerrada y ahora no tendrás mayores problemas para intercambiar codigos, conocimientos, etc.

6. ¡Distribuir! Bueno, que podes llegar a necesitar? y si… otro certificado especial de distribución que vas a solicitar siguiendo el mismo proceso de antes. Acceso a llaveros (Keychain Access), solicitar, aprobar, descargar e instalar. Aqui NO termina. Como en el punto 3, también necesitamos hacer funcionar un nuevo perfil de distribución en Xcode; proceso sobre el que Apple facilita muchas páginas de información con toda clase de capturas en las que se detalla el modo de reconfigurar el proyecto de Xcode para que utilice este certificado mágico de distribución. Hacer todo paso a paso, al pie de la letra o puede dejar de funcionar todo lo que venia funcionando.

7. Enviamos la aplicación a Apple a través de un nuevo formulario web con información sobre esta (nombre, descripción, versión…), su icono y algunas capturas de pantalla. Apple no acepta archivos PNG para el icono o las capturas; Tendrás que enviarla en TIFF o JPEG. Si te olvidas de este detalle es probable que obtengas una pantalla de error y que cuando trates de volver atrás descubras que la sesión ha terminado y toda la información de los formularios se perdió. Si esto paso, tenes que volver a empezar.

8. Esperar… Una vez enviada, la aplicación pasa a la cola de revisión, sin que sepamos en ningún momento lo que se está haciendo, el estado de la solicitud, o cuanto queda para que termine el proceso. Si la aplicación no es aceptada por el motivo que sea, por ejemplo, que a ellos no les funciona algo que si te funciona en tu iPhone, no tendrás ayuda al respecto, solo podes hacer los arreglos necesarios y volverla a enviar (este proceso si es muy sencillo, ya que se hace a través de un enlace con el que enviamos nuevas versiones de una misma aplicación). Si los problemas continuan, tendrás que esperar una semana para saberlo y otra para ver si la solución que has dado resuelve satisfactoriamente el problema.

9. ¡¡Aceptada!! Ahora queda esperar que de frutos tu aplicación en frente de los 10 millones de clientes potenciales que la podran comprar… o no.

CONCLUSIÓN: Desarrollar aplicaciones para el iPhone es un proceso muy difícil, con mas dificulades de las que deberia tener un proceso de desarrollo, mas si tenemos en cuenta que es para aplicaciones masivas o del tipo retail. Creo que hacer una aplicacion para el iPhone va a ser un camino muy dificil, pero que nos dara un gran valor aqui en donde trabajo, si bien hay que superar todas estas barreras y muchos problemas arbitrarios, siento que es la decisión correcta.