Icono del sitio Programando a medianoche

Publicar una aplicación Xamarin en App Store

Si bien es algo que me gusta, hace mucho que no escribo ningún artículo por falta de tiempo (creo que el último fue hace más de un año), y como hoy es un día lluvioso, me pareció propicio para comenzar a escribir algo.
Esta semana estuvimos publicando en el Play Store y el App Store una aplicación que hicimos con Xamarin y, si bien la publicación de aplicaciones en el App Store de Apple no es complicada, conlleva realizar varios pasos y configuraciones, los cuales me pareció propicio detallar, ya que seguramente puede evitarle dolores de cabeza a más de uno.
Para comenzar deberemos tener una cuenta de desarrolladores en Apple Developer y pagar la licencia como desarrolladores, la cual al momento de escribir este artículo, tiene un costo de 100 dólares anuales.

Certificado de distribución

Utilizando esta cuenta, deberemos crear varias cosas en el sitio de Apple. La primera será la creación del certificado que utilizaremos para la distribución de la aplicación. Para esto deberemos entrar en el sitio, en la opción “Certificates, Identifiers & Profiles”.

En la siguiente página veremos la lista de certificados que tengamos creados o, si no tenemos ninguno, veremos un botón que dice “Create a certificate”. Deberemos pulsar en ese botón o en el que tiene un + y está al lado del título “Certificates”, para crear un certificado nuevo.

Lo próximo será el tipo de certificado que necesitamos, en este caso “Apple Distribution”.

La siguiente pantalla nos va a pedir que subamos una solicitud de certificado, la cual deberemos crear desde nuestra Mac. Para esto deberemos abrir la aplicación “Keychain Access” (la pueden encontrar tipeando el nombre desde el launchpad). Ya con aplicación abierta, deberemos ir a su menú, en la opción “Certificate Assistant” y elegir “Request a Certificate From a Certificate Authority…” para crear la solicitud.

Esta acción nos mostrará un diálogo para ingresar los datos a utilizar en la creación de la solicitud. Tanto en el mail del usuario como de la entidad certificante (campos “User Email Address” y “CA Email Address”) pondremos en mail que utilizamos en nuestra cuenta de Apple Developer, y en el campo “Common name” podemos poner nuestro nombre.

Al cliquear en el botón para continuar nos preguntará dónde guardar el archivo generado y nos creará el archivo “CertificateSigningRequest.certSigningRequest”. Este archivo es el que necesitamos subir en la página de Apple Developer, donde pulsaremos en “Choose file”, seleccionaremos el archivo recién creado, y después pulsaremos en “Continue”.

En la página siguiente nos mostrará la información de certificado recién creado y tendremos un botón para descargarlo, el que pulsaremos para guardar el archivo en nuestra máquina.

Si en algún momento necesitamos volver a descargar el certificado, podremos hacerlo desde la página que tiene la lista de certificados, que se mostró en la segunda imagen.
Luego le damos doble click al certificado descargado y lo importamos en el repositorio de certificados de nuestra máquina.

Identificador de la aplicación

El siguiente paso es crear el identificador de la nuestra aplicación. Para esto pulsaremos a la opción de “Identifiers” del menú izquierdo, lo que nos mostrará la lista de identificadores que tengamos creados o, en caso de no tener ninguno, un botón azul que dice “Register an App ID”. Pulsaremos este último o en el botón con el + que está al lado de “Indentifiers”.

La página nos mostrará una lista de los distintos tipos de identificadores que se pueden crear. En nuestro caso lo que necesitamos es un identificador para nuestra aplicación, por lo que seleccionaremos la opción “App IDs” y pulsaremos en el botón “Continue”.

Como lo que vamos a publicar es una aplicación, y no una App Clip, seleccionaremos App en la siguiente página y nuevamente haremos click sobre “Continue”

Luego se debe cargar la descripción, el Bundle ID, y todas las capacidades que nuestra aplicación pudiera requerir, como acceso a la información de WiFi, recepción de notificaciones push, etc.

En la descripción podemos poner lo que queramos, en las capacidades deben ser la que necesitamos para nuestra aplicación (ojo que, si no está seleccionado acá, aunque nuestra aplicación solicite permisos no podrá acceder a los distintos servicios), y por último el Bundle ID debe ser el mismo que pusimos en el Visual Studio. Para corroborar cuál debe ser, deberemos abrir el archivo Info.plist de nuestro proyecto, y en el campo “Bundle Identifier” podremos encontrarlo.

Volviendo a la página de Apple Developer, cargamos toda la información y pulsamos “Continue”, tras lo cual la página nos mostrará la misma información que cargamos (para verificar que está todo bien) y pulsaremos en el botón “Register”. Si no hay ningún problema volveremos a la lista de identificadores, pero ahora tendremos creado nuestro nuevo identificador para nuestra aplicación.

Perfil de producción

Nuestro último paso en este sitio es la creación de un perfil de publicación en producción.
De forma similar a los pasos anteriores, deberemos pulsar en “Profiles” sobre el lado izquierdo, nos mostrará la lista de perfiles, si es que tenemos, o un botón con el texto “Generate a profile”. Deberemos pulsar en ese botón o en el que tiene un + y está al lado del título “Profiles”, para crear un nuevo perfil.

En la lista de tipos de perfiles seleccionaremos el de App Store, ya que lo utilizaremos para enviar nuestra aplicación, y pulsaremos en “Continue”.

Luego seleccionaremos nuestra aplicación de la lista y nuevamente pulsamos en “Continue”.

A continuación, nos permitirá seleccionar alguno de los certificados que deseemos incluir en el perfil. Por lo general aquí tendremos un solo certificado, pero en caso de tener más de uno, seleccionaremos el creado en el primer paso y luego pulsaremos en “Continue”.

Por último, le pondremos un nombre al perfil y pulsamos en “Generate” para crearlo.

Lo siguiente que veremos es un resumen del perfil creado y un botón para descargarlo. No será necesaria la descarga ya que lo haremos luego desde el Visual Studio.

Uso del perfil desde Visual Studio

Ahora es turno de utilizar nuestro Visual Studio para publicar nuestra aplicación, para lo cual necesitaremos utilizar el perfil que recién creamos. Deberemos abrir el Visual Studio y en su menú seleccionar “Preferences”.

En la nueva ventana que aparecerá deberemos pulsar en la opción “Apple Developer Accounts” del menú izquierdo y veremos a la derecha nuestras cuentas de Apple que tengamos agregadas. Si no tenemos ninguna, deberemos pulsar en “Add Account” y poner los datos de la cuenta que utilizamos en el sitio de Apple Developer. Es posible que en este paso Visual Studio nos pida un código de 6 dígitos que utiliza Apple por seguridad, el cual nos puede llegar a cualquiera de los dispositivos de esta marca que tengamos con nuestra cuenta.

Una vez que tengamos nuestra cuenta cargada, veremos nuestro Apple ID en la lista de cuentas y las relaciones (empresas) y roles que tengamos en esa cuenta.
Seleccionaremos la cuenta y relación que corresponda (en caso de tener más de una), y luego pulsaremos en el botón “View Details”.

Esto nos va a mostrar un diálogo con los certificados y perfiles que tengas creados en Apple. Aquí deberemos descargarlos pulsando en “Download All Profiles”, para poder utilizarlo luego.

Ya con los perfiles descargados, podemos ir a las opciones del proyecto de iOS para elegir el perfil correspondiente.

En el diálogo de las opciones deberemos ir a la sección “iOS Bundle Singning” del lado izquierdo, y sobre la derecha, en la opción “Provisioning Profile” deberemos seleccionar el perfil que creamos al inicio de este paso, o sea, “Profile para producción”.

Cabe mencionar que hay que verificar que la configuración esté en “Release”, para que se utilice este perfil al generar una versión de producción de la aplicación.

Creación de App Specific Password

Para que nuestro Visual Studio pueda conectarse a los servidores de Apple en nuestro nombre, para subir nuestra aplicación, deberemos generar una contraseña que pueda utilizar. Para esto deberemos ir al sitio appleid.apple.com, ingresar con nuestro usuario de Apple (el mismo que tiene la cuenta de desarrollador) y, dentro de la sección “Security”, debajo del título “App-specific Passwords” pulsaremos en el enlace que dice “Generate Password…”.

Nos mostrará un diálogo donde podremos ponerle una descripción a la clave que vamos a crear, por ejemplo “Visual Studio”, y luego pulsaremos en “Create”

Posterior a esto se creará una nueva clave, la cual deberemos guardar porque necesitaremos utilizarla luego desde Visual Studio.

Publicación

Ya con todo configurado, deberemos generar la aplicación y firmarla con el certificado descargado desde Apple.
El primer paso será verificar que la configuración está en “Release | iPhone” y “Generic Device”. Luego seleccionaremos el proyecto de iOS, pulsaremos el botón derecho del mouse y seleccionaremos “Archive for Publishing”.

Esto generará el instalador de la aplicación y nos mostrará una ventana con esta versión generada y, en caso de tener, las versiones generadas previamente.
Acá seleccionaremos la versión que recién compilamos y pulsaremos en “Sign and Distribute…” para firmarla y subirla a Apple.

En el primer diálogo Visual Studio nos pedirá seleccionar el canal de distribución de nuestra aplicación, en el cual seleccionaremos “App Store”.

Después nos preguntará si el destino de la publicación será el App Store, o sea que Visual Studio debe subirlo al servidor de Apple, o si solamente tiene que exportarlo. Aquí marcaremos “Upload”.

El siguiente paso nos mostrará los certificados y perfiles creados previamente. En caso de tener varios, podremos seleccionar los que queramos para la publicación, pero si sólo tenemos uno de cada uno, simplemente deberemos dejar todo como está y pulsaremos “Next”.

Ahora nos toca seleccionar nuestro Apple ID de la lista (en caso de tener más de una cuenta en nuestro Visual Studio) y en el campo “App Specific Password” deberemos ingresar la contraseña creada en previamente en el sitio appleid.apple.com.

Ya casi terminamos la publicación, ahora Visual Studio nos mostrará un resumen de la información de nuestra aplicación, donde sólo deberemos pulsar el botón “Publish”.

Lo último que Visual Studio nos pedirá que seleccionemos es el nombre del archivo .ipa que creará en nuestra máquina, para luego subirlo a Apple. Cuando seleccionemos eso, se mostrará el progreso de la publicación y, una vez terminado, ya estará en Apple.

Publicar en App Store

Ya con la aplicación en la nube, sólo nos resta completar toda su información (imágenes, descripciones, etc.) y enviarla para revisar y publicar en el App Store.
Para esto deberemos ir al App Store Connect y pulsar en la opción “My Apps”.

Luego deberemos crear una nueva aplicación pulsando en el botón con un + al lado del texto “Apps” y eligiendo “New App”.

Esto abrirá un diálogo que deberemos llenar utilizando la información de nuestra aplicación como, por ejemplo, el nombre, las plataformas que soporta (iOS, macOS y/o tvOS), idioma principal, etc.

Cuando terminemos de cargar todo, deberemos pulsar en “Create”. Esto creará una aplicación y nos mostrará un formulario con varios campos que deberemos completar.

Hay mucha información que debemos cargar antes de poder publicar la app, por ejemplo, keywords para cuando buscan la aplicación en el store, URL de soporte, texto promocional, capturas de imágenes de la aplicación, etc.
En caso de estar publicando una aplicación para iOS, la forma más rápida y cómoda de realizar las capturas es utilizando el emulador iPhone, para lo cual podemos seleccionar emular un iPhone 11 Pro y un iPhone 8 Plus para las capturas de los dispositivos de 6.5” y 5.5” respectivamente.
Cuando ya tengamos toda la información cargada, podremos pulsar en el botón “Save” y luego en “Submit for Review” para enviar nuestra aplicación a revisión. Si hay alguna información o dato que falte cargar, se mostrará una advertencia, tras lo cual podremos completar o corregir la información y volver a pulsar en “Save” y “Submit for Review”.
Una vez esté enviada la información, deberemos esperar algunos días a que revisen nuestra aplicación. Si todo está bien, se publicará en el App Store sin problemas, sino nos llegará un email con el detalle del problema y, según el caso, capturas de pantalla, links con información y otros datos, para poder realizar los ajustes necesarios y volver a enviar la aplicación para su revisión.

Conclusión

Aunque parezca que es más sencillo realizar un ABM en assembler que publicar una aplicación en el App Store, no es tan complejo una vez que publicamos nuestra primera app, pero si son muchos pasos y cosas a tener en mente, por eso el motivo de este artículo.
Espero que este instructivo les sea de utilidad.
¡Suerte!

Salir de la versión móvil