Por todos es sabido que el desarrollo de aplicaciones para el iPhone no está siendo un camino de rosas para todo el mundo por culpa de la cerrada política de admisión de aplicaciones de Apple, los restrictivos acuerdos de confidencialidad que entorpecían hasta hace poco la difusión las comunidades de desarrolladores, o las carencias de un API con un buen número de funcionalidades capadas o no documentadas.
Sin embargo, rara vez hemos podido acceder a la historia completa por la que pasa un desarrollador cualquiera tratando de alcanzar la meta, es decir, ver publicada su aplicación en la App Store, y es por eso que me he lanzado a traducir (no de un modo literal, pero sí respetando lo fundamental) la odisea de Mikeash.
Antes de que sigáis leyendo, alertaros de que mi intención no es asustar a posibles desarrolladores del iPhone y el iPod touch, sino recalcar que Apple tiene mucho camino aún por delante, con muchas cosas que mejorar y muchas críticas que asumir. Allá vamos...
- Inscribirse en el iPhone Dev Center y descargar el SDK. Por algún misterioso motivo, 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 (que no emulador) pero ni por asomo instalarlas en nuestro iPhone.
- Inscribirse en el programa para desarrolladores. Después de rellenar más formularios y leer más porquería legal, enviamos la solicitud... que no obtiene respuesta hasta el siguiente día laboral. Como sabréis, tiene un coste de 99 dólares, y con él obtenemos el derecho a ejecutar nuestras aplicaciones en nuestro propio iPhone.
- Certificados. Por defecto, un iPhone tan solo puede ejecutar aplicaciones firmadas por Apple y como no es plan de estar enviándoselas cada vez que queramos 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. Además, también necesitamos un certificado con el que firmar nuestras aplicaciones y, por supuesto, no vale uno cualquiera, tiene que hacerlo Apple. Arrancamos Acceso a Llaveros y en Asistente para Certificados generaremos uno nuevo que tendremos que introducir manualmente (copiando y pegando la sopa de letras resultante) en OTRO formulario de la página.
- Peleando con Xcode. Si todo ha ido bien ya deberíais de poder experimentar con vuestras propias aplicaciones en el propio iPhone... si todo ha ido bien. Si no, os deseo toneladas de suerte para dar rápidamente con alguien con el mismo bizarro problema en el buscador y seguir sus pasos para resolverlo.
- ¡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 el lazo y ahora no tendrás que andar reuniéndote de madrugada en algún callejón oscuro para intercambiar trozos de código.
- ¡Distribuir! Bueno, no tan rápido. Primero necesitas OTRO certificado especial de distribución que has de solicitar siguiendo el mismo proceso de antes. Acceso a llaveros, solicitar, aprobar, descargar e instalar. Pero no, la cosa no puede ser "tan fácil". Como en el punto 3, también necesitamos hacer funcionar un nuevo perfil de distribución en Xcode; proceso sobre el que Apple facilita páginas y 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. Síguelo todo al pie de la letra o lo que antes funcionaba ahora dejará de hacerlo.
- Enviamos la aplicación a Apple rellenando un nuevo formulario web con información sobre esta (nombre, descripción, versión...), su icono y algunas capturas de pantalla. Por alguna razón, Apple no acepta archivos PNG para el icono o las capturas; no importa que la herramienta de captura de Mac OS X utilice ese formato por defecto... tenemos que enviarla en TIFF o JPEG. Si te olvidas de este detalle es probable que vayas a dar con alguna críptica pantalla de error y que cuando trates de volver atrás descubras que la sesión ha caducado y toda la información de los formularios se ha ido al cuerno. Vuelta a empezar.
- Esperar y 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, si se está haciendo, o cuanto queda para que termine de hacerse. Si tenemos la mala suerte de que nuestra aplicación no sea aceptada por el motivo que sea, por ejemplo, que a ellos no les funciona algo que a ti si, no obtienes demasiada ayuda al respecto... tan solo puedes hacer los cambios oportunos 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 sigue habiendo problemas, tendrás que esperar una semana para saberlo y otra para ver si la solución que has dado resuelve satisfactoriamente el problema. Está muy bien que Apple se preocupe de que no se distribuyan aplicaciones con errores "evidentes" pero estaría mejor si el proceso no fuese tan desesperantemente lento.
- ¡¡La aplicación es aceptada!! Con suerte, desarrollar la aplicación te habrá llevado menos tiempo que lograr que aparezca publicada y ahora... a esperar hacerte de oro con los 10 millones de clientes potenciales a los que acabas de tener acceso.
Como veis, comparado con la simplicidad de desarrollar y distribuir aplicaciones para Mac, el programa de desarrollo del iPhone es increíblemente extraño y dificultoso... mucho más de lo que cabria esperar. ¿Escuchará la compañía de la manzana las voces de sus desarrolladores? Eso espero.
Ver 14 comentarios
14 comentarios
Fan By
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH!!!
Richard
Sin duda es burocrático el proceso, pero yo no veo del todo mal el filtraje. Aún con ese filtro, ya hay miles de aplicaciones disponibles en la Store. Si el tema fuese mucho más abierto, se haría inviable encontrar nada en la tienda, porque estaría inundada de aplicaciones de mala calidad y sin sentido.
Está claro que aún queda camino por recorrer y hay que encontrar mejores fórmulas para incentivar a los mejores programadores y descartar los chicharros.
También queda mucho por hacer en la Store, que ahora que empieza a tener un buen volumen de aplicaciones, empieza a hacerse complicado encontrar lo que buscas, sobre todo porque el sistema de búsqueda es un truño y sólo encuentra el nombre de la aplicación, y no busca tags ni palabras clave.
alex_dlc
perdon por preguntar esto aqui, pero quien hace la animacion del intro de videos de applesfera?
daus0n
creo que como bien es sabido, desarrollar para plataformas "reales" (y no la m……ierda de symbian) pues tiene su hecho y trecho, vamos, solo esperad a los htd hd, y a los nuevos "touch" cuando empiecen sus propios "appstore" y que limites ponen, pero bueno! y a la larga ese proceso tedioso de rellenar y rellenar, y demás se hara menos y eso como siempre ayudara a que las apps estén mas pronto aceptadas como rechazadas, pero tampoco vayamos al ocaso del ridículo como hasta ahora, que cuando rechazaban una aplicación (fea cutre asquerosa) que hubiera seguido tooooodo ese proceso, el "desarrollador" tendría que plantearse 1º, sentido de la estética (debería ser obligatorio en las normas legales), 2º, sentido del tacto hacia lo que un cliente quiere, desea, y quiere tocar/palpar con sus dedos en una aplicación, 3º si has pagado 99€/$ para que tu aplicación salga en el appstore, sigue los pasos 1º y 2º y vendelo a un precio de 1,75€, que sea bilingüe, y ya tienes una aplicación para venderse incluso por 0,75€… y lo sabes bien que con que vendas 200 copias de tu app/juego remuneras lo invertido, incluso lo duplicas … xD
pero vamos! todo va con sentido, que apple escuche a los usuarios? lo hace, pero claro hay cerca de 10000000 desarrolladores que hacen todo ese trabajo tedioso y solo 400 se quejan, por que tiene apple que escuchar nada de nadie? :P
no pensáis lo mismo? vamos.. que tanta buleria y palabrería que hubo con el acuerdo NDA y claro… 3 mil aplicaciones vs 2 o 4 que eran rechazadas, yo diría que apple sabe y conoce criterios, acaso los que hacen las apps no deberían hacer igual antes de quejarse por ser rechazados tras haber rellenado tantos formularios? :S
ahora mismo estoy metiendome con el sdk, llevo ya 5 días probando, testeando, y recordando un poco de programación xDDDD pero vamos como bien decís, siempre que tengas dudas de algo hay miles de foros de ello que te lo pueden resolver, solo qu
namesix
Dios mio, si que es complicado!
www.yosoyrallye.com
Demasiada palabrería… Obviais comentar que nada más registrarte aparte de poder descargarte la SDK tienes acceso una infinidad de documentación muy bien explicada, ejemplos de código para ver online de todas y cada una de las funcionalidades específicas del iphone, o bien puedes descargarte estos ejemplos para ejecutar en tu xcode. Por no decir, que a cambio de 99€ y de este proceso, pasas a entrar en una tienda oficial de una marca reputada; que gestiona automáticamente la descarga y el cobro de las aplicaciones.
Personalmente, he empezado a leerme la documentación para que cuando me llegue el iphone poder empezar a trastear con él. Creo que el problema es que este sistema que se ha sacado de la manga Apple (y que está proliferando rápidamente para windows mobile, blackberry…) es que no permite a los aprendices de programador y demás gente con tiempo libre hacer los típicos programitas chorras con los que presumir delante de los amiguetes…
Desde mi punto de vista, un sistema así dignifica a aquellos que quieren vivir de la programación a la vez que evitará el intrusismo laboral en este sector (quién va a soltar 99€ y comerse ese marrón para hacer una aplicación chorras?)
Siento el sermón, pero es que ya cansan tantas críticas a la AppStore cuando desde el punto de vista de los programadores de toda la vida, es un soplo de aire fresco ya que iniciativas como ésta permiten que un solo programador viva de su trabajo de nuevo como antaño, sin tener que ser uno más del montón como pasa desde hace algunos años.
Ah, y a pesar de lo tedioso del proceso; el que se haya trabajado una aplicación buena, ya vereis qué poco se queja del proceso este cuando cobre la pasta que le genere la aplicación… Seguro que hasta recuerda el proceso con cariño! ;)
pequenionoa
La verdad es que es una camino largo.
Contestando a Alejandro le diré que si que existe información en castellano. Yo mismo participo en un foro sobre el tema. http:\\www.iphonesoftware.es
josecarlos.cepero
Y a todo esto, saber que podemos hablar de aplicaciones para gestión, utilidades o juegos, ya que cada una de ellas tiene su propio proceso de desarrollo.
Si hablamos de Juegos, ni os cuento las pestes que hechan muchas productoras del SDK de PSP o de PlayStation. Claro está de las que se quejaban los juegos eran verdaderos bodrios, en cambio de las que no se quejaban (he incluso alababan muchos de los recursos del SDK), los juegos eran increibles. Por ejemplo ¿Os suena Metal Gear?.
El problema de las herramientas de Apple para el desarrollo de aplicaciones, es que su uso está muy dirigido a los analistas, con elementos muy visuales, y no para los programadores de código, pero todo eso tiene solución.
NEXT
punk84
Gracias Miguel por el artículo, hace tiempo que tengo ganas de ponerme a programar enserio para el iphone, (desde las betas del SDK), pero necesitaría aprender algo de Xcode y Objetive-C ya que nunca programé antes en mac. ¿podría alguien indicarme algun sitio donde aprender algo?
pequenionoa
Como he dicho antes, puedes aprender en www.iphonesoftware.es
CSSBlog ES
que liO!
matt78
Yo llevo atascado en el punto 2 desde hace algunos días.
43494
ACERCA DE LOS QUE INTENTAN DISTRIBUÍR APLICACIONES PARA iPHONE --SIN-- EL appStore!
A mi me parece una gran trampa ...¡tan grande, como que es la primera vez yo veo se hayan logrado superar las férreas barreras (y ..."BURLARLAS"..., perdonen mi palabrita, pero es que aquí a un menda no le agrada mucho la noticia, que digamos, ya que yo actualmente me encuentro desarrollando una aplicación para iPhone que pienso distribuir, por lo LEGAL y tratando religiosamente de no sobrepasar ninguna de las normas fundamentales para que mi aplicación sea aceptada en la iOS AppStore, y ya veo al fluído, limpio, férreo y ultra-seguro Mac-OS, por el que empecé a apostar, ya está empezando a ser ATACADO!!!, como ya desde hace décadas, lo está irremediablemente Micsft y sus manchados, sobrecargados, sobre-sobre-sobre-so.....-sobre-parcheados e insulsos (así se me antojan, conociendo los fluidísimos gráficos y funcionamiendo de los Mac-OS...) sistemas Windows 7, y Windows Phone (o como se llame, ese enguarrado sistema, que nunca los he probado yo mas lentos, y que se atasquen mas...).
Aunque, bueno: Como diria el refran: Quien hizo la ley, ya hizo LA GRAN trampa!! (Y por lo visto, demasiado férreas y restrictivas veo yo las normas que ha puesto Mac-OS, no pudiendo acceder, utilizar ni distribuir, algunos contenidos y propósitos de desarrollo de aplicaciones, que tanto a un menda, como seguramente a muchos otros, desarrolladores, usuarios y/o "enamorados" de los sistemas Mac-OS, podrían resultar de gran agrado y satisfacción...
Eso, aparte de lo que nos cuesta, y los tediosos tiempos de espera por los que, por lo visto, un menda tendrá que pasar para llegar a distribuir mi aplicación...
Bueno... Quien hizo la ley, hizo la primera trampa!