Durante las pasadas semanas he recibido varias consultas relacionadas con el desarrollo de iOS en Xojo, principalmente por parte de usuarios que querían comenzar a utilizar el IDE de Xojo para crear sus apps iOS o bien que ya utilizaban Xojo en el desarrollo de apps para otras plataformas y que ahora quieren portar también a iOS. De modo que me he decidido a crear este pequeño FAQ para reunir y ofrecer las respuestas de modo que estén disponibles para cualquiera que tenga las mismas inquietudes.
Continuaré actualizando este FAQ en función de las consultas que vaya recibiendo, de modo que probablemente querrás añadirlo a la lista de favoritos de tu navegador para que puedas consultarlo de cuando en cuando. Por supuesto, el Foro de Xojo también es un lugar excelente en el que podemos continuar manteniendo la conversación sobre temas relacionados con el desarrollo para iOS… o bien cualquier otro tema relacionado con el desarrollo con Xojo en general.
¿Puedo desarrollar apps iOS desde Windows?
No. El desarrollo de apps iOS requiere del uso de un Mac, preferiblemente basado en procesador ARM y actualizado a la versión más reciente de macOS.
¿Necesito instalar otras apps además de Xojo?
Además de Xojo necesitarás instalar Xcode y ejecutarlo por lo menos una vez, de modo que puedas confirmar todos los acuerdos de licencia que puedan mostrarse en Xcode, y conectarte en tu cuenta de desarrollador desde las preferencias de Xcode (principalmente para instalar los certificados de desarrollador, en el caso de que no estuviesen ya instalados en tu equipo).
Asegúrate de que, por lo menos, esté instalado un SDK de iOS. Debería, porque forma parte de la instalación inicial de Xcode así como de sus siguientes actualizaciones.
Además, en caso necesario, también podrás instalar SDKs de iOS adicionales desde Xcode > Preferences > Components.
De igual modo, asegúrate de que estén instaladas las utilidades de línea de comandos en Xcode, dado que Xojo las necesita para crear el paquete durante el proceso de compilación (entre otras de las herramientas instaladas por Xcode). Puedes definir dichas herramientas desde Xcode > Preferences > Locations.
Los botones Run y Build están desactivados en Xojo para mis proyectos iOS
Esto probablemente se deba a que no se hayan seleccionado las herramientas de línea de comandos en Xcode. Mira el punto anterior.
No veo ningún Simulador bajo el menú Xojo Project > Run On… ¿qué puedo hacer para solucionarlo?
Vuelve a leer las secciones anteriores. Sal de Xojo y vuelve a abrirlo. Deberías de poder ver ahora bajo dicho submenú de Xojo los mismos simuladores que también estén disponibles en Xcode.
¿Necesito mantener Xcode abierto mientras que uso Xojo?
No. No es necesario en absoluto.
Todo estaba funcionando correctamente… pero ahora ya no puedo ejecutar ni compilar mis apps iOS en Xojo. ¿Por qué?
Probablemente se deba a que esté pendiente algún acuerdo nuevo o actualizado por parte de Apple. Dirígete al portal de Desarrollo de Apple, conéctate utilizando tus credenciales de desarrollador y comprueba si existe algún nuevo acuerdo pendiente que debas revisar y confirmar.
Otros buenos candidatos para que esto ocurra son los Perfiles de Aprovisionamiento expirados o incluso los certificados de desarrollador expirados o no instalados. Si es el caso, tendrás que crear e instalar los nuevos perfiles de aprovisionamiento y/o certificados de desarrollador.
¿Puedo utilizar Xojo para iOS incluso si sólo tengo una cuenta de desarrollador Apple gratuita?
La respuesta corta: sí. Las cuentas de desarrollador gratuitas de Apple son aquellas que puedes crear utilizando un Apple Account. Esto es, el mismo que utilizas para acceder y utilizar otros servicios de Apple. Incluso si es posible utilizar una cuenta gratuita de desarrollador de Apple, este tipo de cuentas presentan algunas limitaciones en comparación con la membresía de desarrollador Apple de pago. A continuación resumo algunas de dichas limitaciones:
| Cuenta Apple | Programa Apple Developer | |
|---|---|---|
| Herramientas de desarrollo Xcode | ● | ● |
| Versiones beta de Xcode | ● | ● |
| Depurar sobre el dispositivo | ● | ● |
| Uso de capacidades y servicios avanzados para la app | ● | |
| Distribución de la App | ● | |
| Distribución Ad hoc para pruebas y uso interno | ● |
Adicionalmente, también has de considerar las siguientes limitaciones:
- La cantidad de App IDs que se pueden registrar está limitada a 10 y estas expiran tras 7 días.
- La cantidad de dispositivos de prueba que puedes registrar en la cuenta está limitado a 3, y estos expiran tras 7 días.
- Los perfiles de aprovisionamiento expirarán en 7 días tras su creación, lo que significa que tendrás que volver a compilar e instalar tu app en el dispositivo una vez que haya expirado.
Hay algunas herramientas gratuitas que puedes utilizar para superar estas limitaciones, pero no están soportadas de forma oficial. Por ejemplo, puedes utilizar Sideloadly para que las apps instaladas en el dispositivo no caduquen al cabo de 7 días (dicha app se puede utilizar incluso desde Windows).
Tengo una cuenta gratuita de Desarrollador Apple, y aunque he seguido todos los pasos anteriores, aun no puedo ejecutar mi app desde Xojo. ¿Por qué?
Para que una app de iOS se pueda ejecutar esta requiere de lo que se denomina un Perfil de Aprovisionamiento. Estos se pueden crear desde el sitio Web de Desarrollo de Appl… o bien dejar que Xcode se encargue de gestionarlos. Si careces de experiencia en el desarrollo de apps iOS o bien de desarrollo en general en el ecosistema de Apple, entonces encontrarás que la forma más sencilla de crear estos perfiles de aprovisionamiento consiste en seguir los siguientes pasos, de modo que Xcode se encargue de crear un perfil de aprovisionamiento específico para tu app. Estos pasos se centrar en la obtención de perfiles de aprovisionamiento básicos en los que no se hace uso de servicios y otras tecnologías de Apple que, de otro modo, también deberían de incluirse en el Perfil de aprovisionamiento en el supuesto de que tu app hiciese uso de ellas:
- Abre Xcode y crea un nuevo proyecto de iOS.
- Utiliza para este nuevo proyecto el mismo Bundle Identifier que el que vayas a utilizar en tu proyecto Xojo.
- En el área principal de la ventana de Xcode, selecciona el ítem que se corresponde con la raíz del proyecto (A).
- A continuación, selecciona el ítem de Target (resultado ejecutable del proyecto) en la sección Targets (B).
- Luego, selecciona la pestaña Signing & Capabilities. Asegúrate de que esté seleccionado tu equipo y que el Bundle Identifier sea el mismo que el que vayas a utilizar en tu tu app Xojo (C).
- Como resultado de las selecciones realizadas, verás ahora el área correspondiente al Perfil de Aprovisionamiento gestionado por Xcode.
Asegúrate de seleccionar un Simulador y ejecuta la app desde Xcode. Dicha acción abrirá el simulador seleccionado y ejecutará la app en blanco que acabas de crear.
Dado que ya se ha creado un perfil de Aprovisionamiento, vuelve a Xojo y ahora podrás ejecutar tu app iOS de Xojo. Si no es así, cierra Xojo y vuelve a abrirlo para que el IDE pueda encontrar el perfil de aprovisionamiento recién creado en Xcode.
¿Existe algún otro modo de instalar las apps iOS en mis dispositivos registrados, sin tener que publicarlas en la App Store?
Sí. Puedes instalar tus apps iOS compiladas, en los dispositivos que previamente hayas registrado en tu cuenta de desarrollador, mediante lo que se denomina sideloading. Para ello deberás de utilizar Xcode.
Una vez que hayas compilado la app usando Xojo (creará un paquete – archivo IPA), tendrás que ir a Xcode > Devices and Simulators, seleccionar el dispositivo y soltar el archivo IPA en el área que ya muestra las apps instaladas en dicho dispositivo. Esta acción iniciará la copia (instalación) de tu app iOS recién creada sobre dicho dispositivo concreto.
Ten en cuenta que este tipo de instalaciones permiten que la app se ejecute durante un período de un año; es decir, la cantidad de tiempo que transcurre hasta que caduca el perfil de aprovisionamiento. Una vez que el perfil de aprovisionamiento expire, tendrás que volver a repetir el proceso: compilar la app con un nuevo perfil de aprovisionamiento y copiarla de nuevo sobre el dispositivo.
¿Es posible distribuir las apps de iOS creadas con Xojo en la App Store?
¡Por supuesto! De hecho, el IDE simplifica en gran medida el proceso de compilar y subir a la App Store Connect el archivo resultante, de modo que se pueda iniciar el proceso de revisión por parte de Apple, requerimiento previo a la publicación de la app en la App Store, o bien para que puedas distribuirla entre un grupo de beta-testers determinado mediante el servicio Testfligh proporcionado por Apple.
Para distribuir apps de iOS en la App Store es preciso contar con una membresía de pago como Desarrollador Apple.