Publicar una App en la Apple App Store

Ignacio Buioli
- 08/08/2017

El ambiente de las aplicaciones para móviles llegó cuando la informática ya se encontraba asentada, y cuando la web había sido un eficiente sistema para la prueba-error. Por esa razón las Apps para celulares tienen manifiestos que configuran los permisos de forma cómoda, y no un laberinto de permisos mediante el uso de HTTPS como tienen las Web Apps. Sin embargo, no todo es oro lo que reluce.

Los desarrolladores generamos aplicaciones móviles de formas diversas, pero el resultado final suele ser publicarlas en las tiendas de mayor corriente de usuarios: Google Play Store (Android) y Apple App Store (iOS). En esta oportunidad no explicaremos como subir una App a la Play Store (que de todas maneras es muy simple), sino como aventurarnos en la tarea de intentar subir una App de iOS a la App Store de Apple.

Para comenzar, vamos a asegurarnos de tener todo lo necesario antes de dedicarnos a la labor. Necesitamos, en principio, un Apple ID (que vendría a ser como una cuenta de Apple), para lo cual hay que registrarnos con nuestro email en el siguiente enlace: https://appleid.apple.com/account#!&page=create. Si somos usuarios de iPhone es muy probable que ya tengamos un Apple ID. Aún así, esto no es suficiente para que Apple te permita desarrollar Apps. Lo próximo será darnos de alta como desarrolladores (Developer) de Apple, para lo cual tendremos que pagar la suma nada despreciable de 99 dólares al año. ¿Qué pasa si al año no pagamos? Cualquier App subida será eliminada. Para esto vamos a ingresar al siguiente sitio: https://developer.apple.com/ y luego a Account. Ahí es necesario loguearnos con nuestra Apple ID y ya en la pestaña Overview nos va a pedir que realicemos un pago (Purchase). Lo haremos mediante tarjeta de crédito y esperaremos unas 48 horas a que nos llegue la confirmación del pago realizado.

Nota: Es posible que transcurridas las 48 horas y con la confirmación del pago (y el pago cobrado) sigamos sin poder acceder al menú del desarrollador y nos pida realizar otro pago. Esto se debe a que el sistema de seguridad de Apple es desastroso, y al no reconocerte como “Usuario de Mac” desconfía. Se soluciona enviando un mail al equipo técnico de Apple, quienes solucionan el inconveniente en la brevedad.

Nuestro último elemento, y no menor, es tener una Mac. No importa que queramos desarrollar únicamente, para compilar una App de iOS es necesario tener una Mac. Los trucos con máquinas virtuales han resultado en fracaso, de momento no hay forma de evitar utilizar el hardware. Además de esto vamos a tener que actualizar el OSX si no tenemos una versión reciente, ya que vamos a necesitar el Xcode en su versión 7 por lo menos. Es recomendable, además, tener un iPhone; sin embargo no es indispensable ya que los emuladores de iOS funcionan muy bien (aunque no emulan sensores ni bluetooth). Ahora sí, ya tenemos todo para empezar a subir nuestra App a la App Store.

No importa si hacemos una App con las herramientas nativas de Apple (Xcode) o mediante frameworks (Cordova), en cualquier caso vamos a tener un archivo del tipo Proyecto Xcode (Cordova no puede compilar por su cuenta, simplemente genera un archivo para el Xcode). Además, no vamos a ver el archivo compilado en ningún momento. A la hora de compilar un binario, el propio Xcode nos va a dar la opción de subirlo a la App Store, siempre y cuando toda la información necesaria sea correcta. En el Xcode vamos a buscar Preferences – Accounts y agregamos nuestra cuenta de Desarrollador de Apple haciendo click en el boton +. Acto seguido, vamos a apretar en el botón Manage Certificates, nos saldrá una ventana pop-up donde tendremos que dar de alta un certificado de distribución iOS (iOS Distribution). Apretamos en Add y seleccionamos iOS Distribution.

Nos vamos por un momento a nuestra cuenta de Desarrollador: https://developer.apple.com/account y accedemos a Overview – Certificates, Identifiers, & Profiles.

 

 

Buscamos la sección Identifiers y elegimos Apple IDs. Ahí buscamos el botón + y nos aparecerá una ventana con opciones para dar de alta un Apple ID para nuestra App. La llenamos con los datos de nuestra App, dejamos marcada la opción Explicit App ID y en Bundle ID escribimos la Bundle ID de nuestra App (si no habíamos configurado ninguna no pasa nada, vamos a crear una en ese momento). Se recomienda una Bundle ID con el formato de una URL a la inversa, por ejemplo com.tuweb.subdom. Le damos a Continue y finalizamos el registro.

Ahora vamos a necesitar crear un Provisioning Profile, para lo cual en el mismo menú vamos a buscar Provisioning Profiles – All. Apretamos el botón + y seleccionamos Distribution – App Store, le damos a Continue. Nos va a salir un menú desplegable con nuestras Apple IDs creadas, elegimos la de la aplicación deseada, continuamos y finalizamos. Si disponemos de un iPhone, este paso no suele ser necesario. Sin embargo, recomendamos generar todos los certificados que pide Apple antes de intentar publicar la aplicación.

 

 

Luego de todos estos pasos, ya estaremos en condiciones de crear el entorno de carga de nuestra App, para lo cual Apple utiliza el iTunes Connect. Ingresamos, una vez más, a nuestra cuenta de Desarrollador: https://developer.apple.com/account y buscamos la opción iTunes Connect. Nos saldrá un menú con más botones, seleccionamos My Apps.

 

 

Ya dentro, vamos a darle al botón New App y completamos los datos de nuestra aplicación. Al finalizar, le daremos al botón Create. En Pricing and Availability vamos a seleccionar el precio de nuestra App (aunque sea gratis). Vamos a notar que debajo del menú iOS App va a salir una opción con un círculo amarillo que dice 1.0. Al apretar ahí nos saldrán las opciones de la versión de la App que vamos a cargar. Necesitaremos cargar una serie de datos, como la descripción, capturas de pantalla de la App, etc. Por fin, tendremos todo listo para compilar y cargar nuestra App en la App Store.

 

 

Abrimos nuestro proyecto de Xcode (.xcodeproj) y en la pestaña General revisamos los datos de nuestra App. Prestamos especial atención en la sección Identify. Para empezar, el Bundle Identifier tiene que coincidir con el Bundle ID que dimos de alta previamente. Asimismo, el número de versión (no el número de Build) debe coincidir con el binario que vamos a subir. En este caso, al ser la primera vez que subimos una App vamos a usar el número por defecto 1.0. Si tenemos un iPhone conectado, la opción de Automatically manage signing debería firmar nuestra App de forma automática. En caso de no tener iPhone, vamos a deshabilitar la opción de Automatically manage signing y a utilizar nuestro Provisioning Profile, que generamos previamente.

Nos vamos a asegurar de que estamos compilando una versión Release y no Debug. Para esto, nos dirigimos a Product – Scheme – Edit Scheme. Seleccionamos Archive y revisamos que en Build Configuration diga Release. Volvemos a la interfaz del Xcode, y arriba a la izquierda cambiamos el compilador para que sea Generic iOS (es decir que no sea ningún Emulador ni un iPhone conectado), y nos dirigimos a Product – Archive. Si todo está correcto, nos va a salir un cartel de Build Successful y la opción de Upload to App Store. Transcurridos unos minutos, nos dirá que la App estará sincronizada con iTunes.

En este punto nuestra App pasará a estar en proceso de revisión por parte de Apple. Es necesario revisarla (en lo posible en un dispositivo) antes de mandarla y comprobar que funcione perfectamente porque, a diferencia de Google Play Store, Apple no la va a subir si no funciona perfectamente. Además de eso, es probable que Apple solicite cambios de funcionamiento e incluso estéticos, a pesar de que la aplicación no es producida por ellos, solo por utilizar su servicio. Cada proceso de revisión toma un día entero, por lo que subir una App a la App Store puede demorarse meses de desarrollo.