{"id":32964,"date":"2025-05-26T10:48:45","date_gmt":"2025-05-26T08:48:45","guid":{"rendered":"https:\/\/www.codemotion.com\/magazine\/?p=32964"},"modified":"2025-05-26T10:48:47","modified_gmt":"2025-05-26T08:48:47","slug":"10-consejos-a-la-hora-de-crear-tus-apps-ios","status":"publish","type":"post","link":"https:\/\/www.codemotion.com\/magazine\/es\/lenguajes-de-programacion\/10-consejos-a-la-hora-de-crear-tus-apps-ios\/","title":{"rendered":"10 Consejos a la hora de crear tus apps iOS"},"content":{"rendered":"<p>Xojo es un entorno de desarrollo tremendamente \u00fatil, r\u00e1pido y pr\u00e1ctico a la hora de llevar a buen puerto tu pr\u00f3ximo proyecto de app para iOS. En este art\u00edculo te ofrezco una serie de sugerencias pr\u00e1cticas.<!--more--><\/p>\n<h2>1. Define tu idea<\/h2>\n<p>Si eres capaz de resumir en una simple frase para qu\u00e9 servir\u00e1 tu app\u2026\u00a0tendr\u00e1s una buena parte del camino recorrido. Cuanto m\u00e1s escueta sea dicha frase, m\u00e1s definido estar\u00e1 el objetivo de tu app.<\/p>\n<p>Aunque parezca una nimiedad, este simple hecho significar\u00e1 que tendr\u00e1s m\u00e1s claros tus objetivos a la hora de realizar el dise\u00f1o de las pantallas y la navegaci\u00f3n entre las mismas, lo que tambi\u00e9n repercutir\u00e1 a la hora de estructurar los componentes de c\u00f3digo.<\/p>\n<p>Adicionalmente, es breve frase ser\u00e1 ideal para utilizarla en el campo de Subt\u00edtulo correspondiente al registro de la app en la App Store Connect.<\/p>\n<p>Reduce las caracter\u00edsticas a implementar a aquellas que supongan el verdadero core de la aplicaci\u00f3n y que definir\u00e1n lo que ser\u00e1 el Producto M\u00ednimo Viable (o <a href=\"https:\/\/en.wikipedia.org\/wiki\/Minimum_viable_product\">MVP, Minimum Viable Product<\/a>, por sus siglas en ingles). Indudablemente, a medida que avances en la implementaci\u00f3n de la app te asaltar\u00e1n las ganas de a\u00f1adir m\u00e1s prestaciones. No las implementes, an\u00f3talas y d\u00e9jalas en reposo para implementarlas en futuras versiones, atendiendo tambi\u00e9n al feedback o comentarios recibidos por parte de los usuarios iniciales de tu app.<\/p>\n<h2>2. Elige la(s) plataforma(s)<\/h2>\n<p>Si bien Xojo y otros entornos de desarrollo permiten que el dise\u00f1o de las pantallas y c\u00f3digo funcione tanto sobre dispositivos iPhone como iPad, no todas las aplicaciones tienen por qu\u00e9 dirigirse obligatoriamente a ambas plataformas. C\u00e9ntrate en los dispositivos que mejor se adecuen al tipo de uso al que va dirigida tu app.<\/p>\n<p>Por ejemplo, por regla general los usuarios de iPhone suelen hacer interacciones r\u00e1pidas para completar una determinada tarea o acci\u00f3n; mientras que las apps dirigidas al iPad suelen conllevar un uso m\u00e1s af\u00edn al que podr\u00eda realizarse en un port\u00e1til, donde el usuario suele pasar m\u00e1s tiempo enfocado en una determinada app.<\/p>\n<p>En cada nuevo proyecto para iOS, Xojo incluye por omisi\u00f3n un layout espec\u00edfico tanto para iPhone como para iPad. Si encuentras preferible que tu app funcione s\u00f3lo en una de estas plataformas, define a &#8220;None&#8221; el valor de Default iPhone Layout o Default iPad Layout desde el Panel Inspector para el elemento App.<\/p>\n<p>Tambi\u00e9n has de tomar una decisi\u00f3n sobre la versi\u00f3n m\u00ednima de iOS que soportar\u00e1 tu app. Actualmente el IDE de Xojo establece iOS 14.0 como la versi\u00f3n m\u00ednima para todo nuevo proyecto, si bien en el momento de escribir este art\u00edculo m\u00e1s de un 60% de los usuarios ya tienen instalado iOS 18+ en sus dispositivos.<\/p>\n<h2>3. Prototipado<\/h2>\n<p>El IDE de Xojo es tan intuitivo, y el ciclo de dise\u00f1o \/ prueba tan sencillo y r\u00e1pido que la mayor\u00eda de las ocasiones te sentir\u00e1s tentado de comenzar a dise\u00f1ar las pantallas e implementar la funcionalidad y navegaci\u00f3n entre ellas desde el principio. Si se trata de una peque\u00f1a utilidad\u2026 \u00a1perfecto! pero en aquellas apps que, aun siendo sencillas, ofrecen m\u00e1s funcionalidad, siempre resulta conveniente darse algo de tiempo y tirar de alguna herramienta para crear mockups, como puedan ser <a href=\"https:\/\/www.figma.com\">Figma<\/a> o <a href=\"https:\/\/getmockup.app\">MockUp<\/a> para macOS y iOS.<\/p>\n<p>Otra opci\u00f3n que tambi\u00e9n suele dar muy buenos resultados son un simple lapicero y un block de papel.<\/p>\n<p>En definitiva, es una cuesti\u00f3n que siempre va en gustos o con lo que te sientas m\u00e1s c\u00f3modo a la hora de reflejar las ideas de una forma ordenada y bien pensada.<\/p>\n<p>Adicionalmente, si se trata de tus primeros pasos en el desarrollo de apps para iOS, siempre es recomendable echar un vistazo a la <a href=\"https:\/\/developer.apple.com\/design\/human-interface-guidelines\">Human Interface Guidelines publicada por Apple<\/a>, de modo que sigas las recomendaciones indicadas para que tu app comparta los mismos patrones y paradigmas que un usuario espera encontrar en cualquier app dise\u00f1ada para iOS. Por ejemplo, un buen sitio por el que empezar podr\u00eda ser <a href=\"https:\/\/developer.apple.com\/design\/human-interface-guidelines\/designing-for-ios\">Designing for iOS<\/a>.<\/p>\n<p>Cuando comiences a dise\u00f1ar tus pantallas en el Editor de Dise\u00f1o de Xojo, recuerda que adem\u00e1s de definir las relaciones entre controles mediante el Panel Inspector, obtendr\u00e1s un mayor control mediante la clase <a href=\"https:\/\/documentation.xojo.com\/api\/ios\/ioslayoutconstraint.html#ioslayoutconstraint\">iOSLayoutConstraint<\/a> en tiempo de ejecuci\u00f3n y reaccionando a los diferentes cambios de orientaci\u00f3n del dispositivo. En este sentido la flexibilidad a ser\u00e1 absoluta a la hora de reorganizar la disposici\u00f3n de los controles en la pantalla, tanto en su posici\u00f3n como en su tama\u00f1o y la relaci\u00f3n que mantendr\u00e1n unos sobre otros.<\/p>\n<h2>4. Base de datos<\/h2>\n<p>Es rara una app que no &#8220;descanse&#8221; sobre una base de datos. En iOS, la mejor opci\u00f3n para guardar datos de forma local es el uso de SQLiteDatabase, y la mejor ubicaci\u00f3n en la que puedes guardar dicho archivo ser\u00e1 en la carpeta obtenida a partir de <a href=\"https:\/\/documentation.xojo.com\/api\/files\/specialfolder.html#specialfolder\">SpecialFolder.Documents<\/a>. Por supuesto, tambi\u00e9n podr\u00e1s comunicarte con bases de datos remotas de forma directa o bien a trav\u00e9s de una API, si tu app as\u00ed lo requiere.<\/p>\n<p>Sea cual sea el modo de hacerlo, y especialmente si vas a utilizar una base de datos local (SQLite), te recomiendo que siempre a\u00f1adas en la base de datos una tabla de &#8220;Metadatos&#8221; en la que, entre otras cosas, te permita conocer cu\u00e1l es la versi\u00f3n o estructura de la base de datos que se est\u00e1 utilizando en un momento dado. Tambi\u00e9n es recomendable que crees tu propia clase de <a href=\"https:\/\/documentation.xojo.com\/api\/databases\/sqlitedatabase.html#methods\">SQLiteDatabase<\/a> y que mantengas en ella todos los m\u00e9todos relacionados con las consultas o escrituras sobre la base de datos.<\/p>\n<p>\u00bfPor qu\u00e9 estas dos recomendaciones? A buen seguro que inicialmente tus ideas estar\u00e1n bien claras sobre como ha de ser el esquema de la base de datos y la relaci\u00f3n existente entre las diferentes tablas y campos; pero a medida que tu app evolucione con nuevas versiones es probable que alguna de las nuevas caracter\u00edsticas llegue a impactar tarde o temprano en el esquema de la base de datos. Manteniendo una tabla de metadatos siempre sabr\u00e1s qu\u00e9 versi\u00f3n est\u00e1 instalada en el dispositivo del usuario, y podr\u00e1s reaccionar en consecuencia desde el c\u00f3digo de la nueva versi\u00f3n (a\u00f1adiendo nuevas tablas, campos, etc.)<\/p>\n<h2>5. Recursos Gr\u00e1ficos<\/h2>\n<p>Cuando se trata el uso de im\u00e1genes para botones, barra de navegaci\u00f3n mediante pesta\u00f1as (en el caso de que tu App vaya a utilizarlo), o los iconos a\u00f1adidos en las filas de la tabla tu mejor amigo ser\u00e1 el m\u00e9todo compartido Picture.SystemImage en combinaci\u00f3n con los glifos o s\u00edmbolos gr\u00e1ficos que puedes consultar mediante la app de macOS <a href=\"https:\/\/developer.apple.com\/sf-symbols\/\">SF Symbols<\/a>. Estos glifos escalan bien a cualquier tama\u00f1o, ofreciendo siempre la mejor resoluci\u00f3n y adem\u00e1s permiten la asignaci\u00f3n de diferentes colores para cuando la app funcione en modo claro u oscuro. Eso s\u00ed, aseg\u00farate de que los s\u00edmbolos elegidos est\u00e9n disponibles para la versi\u00f3n m\u00ednima de iOS sobre la que tienes previsto ejecutar tu app.<\/p>\n<p>En el resto de los casos en los que no sea posible recurrir a los s\u00edmbolos de SF Symbols, a\u00f1ade nuevos items de Imagen a tu proyecto Xojo para iOS y a\u00f1ade las im\u00e1genes para cada una de las resoluciones requeridas, de forma que se vean n\u00edtidamente en los diferentes tama\u00f1os de pantalla (y densidades de punto) utilizados en iOS.<\/p>\n<p>\u00a1No te olvides de la tipograf\u00eda! Por omisi\u00f3n todos los controles a\u00f1adidos en el Editor de Dise\u00f1o (o mediante c\u00f3digo) utilizar\u00e1n por omisi\u00f3n la fuente del sistema en su peso Regular y con un tama\u00f1o de 17 puntos; pero siempre es bueno darle a tus apps algo de personalidad y hacer uso del resto de las <a href=\"http:\/\/www.iosfont.com\">tipograf\u00edas (y pesos de fuente) instalados en los dispositivos iOS<\/a>. Eso s\u00ed, es aconsejable no utilizar m\u00e1s de dos tipograf\u00edas diferentes.<\/p>\n<p>Utiliza la tipograf\u00eda para definir la jerarqu\u00eda en la informaci\u00f3n mostrada. Por ejemplo, puedes utilizar diferentes pesos de una misma tipograf\u00eda as\u00ed como tama\u00f1os de fuente distintos. Ahora bien, recuerda que el tama\u00f1o de fuente m\u00ednimo recomendado es de 11 puntos.<\/p>\n<p>En este sentido, cuando pruebes la app en cualquiera de los Simuladores recuerda ajustar el tama\u00f1o de la ventana del simulador al tama\u00f1o f\u00edsico del dispositivo (Simulator &gt; Window &gt; Physical Size), de lo contrario podr\u00edas obtener una idea distorsionada sobre la legibilidad de los textos cuando tu app se instale sobre un dispositivo real.<\/p>\n<h2>6. Localizaci\u00f3n\u2026 y accesibilidad<\/h2>\n<p>Nada te impide publicar una app en un \u00fanico idioma, ya sea el que utilices de forma nativa o, como m\u00ednimo, en Ingl\u00e9s; pero lo que resulta cierto es que la localizaci\u00f3n (proporcionar tu app lista para funcionar en el idioma del usuario del dispositivo) es un factor determinante a la hora de incrementar, hasta en 128x, las descargas de tu app.<\/p>\n<p>Si sigues la ruta de localizar tu app (y deber\u00edas), \u00a1empieza a hacerlo lo antes posible! dado que esto podr\u00eda afectar algunas cuestiones sobre el dise\u00f1o de tu app. A\u00f1ade un m\u00f3dulo a tu proyecto iOS en Xojo y a\u00f1ade tantas constantes como textos vayas a utilizar en tu app. No te olvides de activar el interruptor &#8220;Localized&#8221; en cada nueva constante de tipo String a\u00f1adida al m\u00f3dulo y provee los textos equivalentes por cada idioma que vayas a soportar.<\/p>\n<p>Si tienes dudas sobre las localizaciones que deber\u00edas proporcionar en tu app, esta ser\u00eda una buena gu\u00eda:<\/p>\n<p>Como M\u00ednimo:<\/p>\n<ul>\n<li>Ingl\u00e9s<\/li>\n<\/ul>\n<p>Localizaciones adicionales (por importancia):<\/p>\n<ul>\n<li>Chino<\/li>\n<li>Espa\u00f1ol<\/li>\n<li>Alem\u00e1n<\/li>\n<li>Franc\u00e9s<\/li>\n<li>Japon\u00e9s<\/li>\n<li>Italiano<\/li>\n<li>Portugu\u00e9s<\/li>\n<li>Ruso<\/li>\n<li>Coreano<\/li>\n<\/ul>\n<p>No tienes por qu\u00e9 proporcionar todas las localizaciones en tu primera versi\u00f3n. Al estar incorporadas en un m\u00f3dulo, podr\u00e1s ir a\u00f1adiendo entradas de idioma adicionales por cada nueva cadena de texto en subsiguientes versiones de la app.<\/p>\n<p>Eso s\u00ed, aseg\u00farate de que las localizaciones son correctas en cada nuevo idioma soportado\u2026\u00a0y no las literales (y muchas veces err\u00f3neas) que podr\u00edas obtener utilizando servicios de traducci\u00f3n como Google Transtlator.<\/p>\n<p>Esto mismo aplica tambi\u00e9n en los textos de Accesibilidad que proporciones en los controles que soportan dicha capacidad.<\/p>\n<p>Y si quieres mejorar aun m\u00e1s la experiencia de los usuarios (y atraer m\u00e1s descargas de tu app), recuerda que la App Store Connect te permite crear p\u00e1ginas espec\u00edficas por cada uno de los idiomas soportados\u2026\u00a0lo que tambi\u00e9n implica que deber\u00edas de crear las capturas de pantalla localizadas para cada una de las p\u00e1ginas, junto con las descripciones y resto de textos que se mostrar\u00e1n en la App Store.<\/p>\n<h2>7. Pruebas<\/h2>\n<p>El IDE de Xojo cubre todas las opciones que requieras utilizar a la hora de probar tu app, tanto desde el punto de vista del dise\u00f1o y experiencia del usuario como desde la funcionalidad.<\/p>\n<h3>Simuladores<\/h3>\n<p>Utiliza los Simuladores durante todas las fases del proyecto. Son especialmente \u00fatiles a la hora de comprobar c\u00f3mo se ver\u00e1n los dise\u00f1os de las pantallas de la app al ejecutarse sobre dispositivos con diferentes tama\u00f1os de pantalla y tambi\u00e9n en todas las orientaciones de pantalla soportados (Panel Inspector de los elementos iPhone Layout y\/o iPad Layout). Tambi\u00e9n son muy convenientes para comprobar las localizaciones, dado que puedes instalar todos los idiomas soportados y cambiar entre ellos de forma m\u00e1s r\u00e1pida y conveniente en comparaci\u00f3n con hacer la misma operaci\u00f3n sobre un dispositivo f\u00edsico.<\/p>\n<p>Los simuladores tambi\u00e9n ser\u00e1n convenientes para realizar las capturas de pantalla que utilices en la composici\u00f3n de las im\u00e1genes a\u00f1adidas al registro de la app en la App Store Connect.<\/p>\n<h3>Ejecutar en Dispositivo (Debug)<\/h3>\n<p>No importa cuan buena sea la experiencia cuando pruebes tu app en los simuladores, en este caso seguir\u00e1s utilizando el dispositivo apuntador y, seguramente, el teclado de tu Mac para realizar la entrada de datos.<\/p>\n<p>Utiliza la opci\u00f3n que permite depurar tu aplicaci\u00f3n sobre un dispositivo f\u00edsico para obtener una mejor visi\u00f3n sobre los aspectos relacionados con la usabilidad, navegaci\u00f3n e introducci\u00f3n de datos; aparte de que los dispositivos f\u00edsicos son la \u00fanica opci\u00f3n real a la hora de probar ciertas caracter\u00edsticas disponibles \u00fanicamente en el hardware.<\/p>\n<h3>Copiar a Dispositivo<\/h3>\n<p>Las dos opciones anteriores comparten una limitaci\u00f3n: son excelentes para detectar los fallos del c\u00f3digo y corregirlos, pero eso significa que tu app sigue &#8220;atada&#8221; al IDE de Xojo. Es decir, tan pronto como detengas la ejecuci\u00f3n de la app desde el depurador\u2026\u00a0no podr\u00e1s ejecutarla de forma independiente en el dispositivo o en el Simulador.<\/p>\n<p>Cuando ya hayas finalizado de corregir los fallos de c\u00f3digo y tambi\u00e9n en el dise\u00f1o de la app, deber\u00e1s continuar con las pruebas\u2026\u00a0en el mundo real. Esto significa compilar la app (Build) y utilizar Xcode para copiar el bundle resultante a cualquiera de los dispositivos f\u00edsicos que vayas a utilizar para realizar las pruebas.<\/p>\n<p>Una vez que la tengas sobre el dispositivo ya podr\u00e1s utilizar tu app tal y como har\u00edas con cualquier otra, y al hacerlo probablemente te surjan algunas optimizaciones especialmente en el \u00e1rea de dise\u00f1o y usabilidad.<\/p>\n<h3>TestFlight<\/h3>\n<p>Todo lo anterior se basa en pruebas que podr\u00edan calificarse como &#8220;internas&#8221;, pero ya en las fases finales de desarrollo es hora de poner la app en manos de tantas personas o testeadores como te sea posible. Esto enriquecer\u00e1 el feedback recibido.<\/p>\n<p>Para ello, s\u00f3lo has de Publicar la app desde el IDE de Xojo a la App Store Connect y asegurarte de crear un grupo de &#8220;External Testing&#8221; en el apartado TestFlight. Son varias las opciones proporcionadas para a\u00f1adir testers externo, si bien la que encuentro personalmente m\u00e1s conveniente es la de crear un enlace p\u00fablico que puedas compartir para que se a\u00f1adan como probadores tantas personas como hayas establecido a la hora de crear el enlace.<\/p>\n<p>De igual modo, recuerda que puedes a\u00f1adir tantas builds como precises por cada nueva versi\u00f3n de la app que quieras probar a trav\u00e9s de TestFlight. Todo lo que has de hacer es activar la opci\u00f3n Auto Increment Version en el Panel Inspector correspondiente a Build Settings &gt; Shared.<\/p>\n<p>Un consejo es a\u00f1adir la entrada ITSAppUsesNonExemptEncryption con el valor booleano False en Build Settings &gt; iOS &gt; Property List &gt; Edit. De esta forma no tendr\u00e1s que confirmar manualmente que tu app no hace uso de funciones de encriptaci\u00f3n (si es el caso) por cada nueva compilaci\u00f3n que subas a la App Store Connect.<\/p>\n<h3>8. Publicaci\u00f3n<\/h3>\n<p>El IDE de Xojo hace que resulte realmente sencillo publicar o &#8220;subir&#8221; tu app a la App Store Connect como paso previo a su revisi\u00f3n y publicaci\u00f3n en la App Store. Probablemente en la parte en la que deber\u00e1s de invertir m\u00e1s tiempo sea la correspondiente a preparar los textos promocionales que has de a\u00f1adir en el registro de la app que hayas creado en la App Store Connect, as\u00ed como los materiales gr\u00e1ficos y una buena selecci\u00f3n de las palabras clave (am\u00e9n del resto de campos que has de a\u00f1adir).<\/p>\n<p>Y si decides crear p\u00e1ginas espec\u00edficas por cada uno de los idiomas seleccionados\u2026\u00a0el tiempo invertido se multiplicar\u00e1 por la cantidad de localizaciones ofrecidas por tu app.<\/p>\n<p>M\u00e1s all\u00e1 de los textos y elementos gr\u00e1ficos, en los que deber\u00edas de invertir la pausa y cari\u00f1o necesarios, aseg\u00farate de seleccionar la Build correcta a enviar para su revisi\u00f3n y publicaci\u00f3n en la App Store.<\/p>\n<h2>9. Marketing<\/h2>\n<p>Algo que deber\u00edas de ir haciendo de forma simult\u00e1nea es la preparaci\u00f3n de los materiales relacionados para dar a conocer tu app al mundo.<\/p>\n<p>Si bien no es necesario crear un sitio Web espec\u00edfico por cada una de tus apps publicadas, s\u00ed que es recomendable a la hora de incrementar el r\u00e1nking en cuanto a las b\u00fasquedas y, por tanto, su visibilidad. Adem\u00e1s tambi\u00e9n podr\u00e1s utilizarlo para proporcionar materiales adicionales sobre el funcionamiento de tu app, desde tutoriales a peque\u00f1os consejos y trucos o bien un \u00e1rea espec\u00edfica de soporte.<\/p>\n<p>Tambi\u00e9n es conveniente crear un canal de YouTube en el cual subir v\u00eddeos, as\u00ed como cuentas en redes sociales (como X) donde puedas ir publicando detalles sobre tu app con cierta frecuencia.<\/p>\n<p>Por supuesto, no dudes en dar a conocer tu app en foros y grupos espec\u00edficos sobre el p\u00fablico objetivo al que se encuentra dirigida tu app, incluyendo como no el propio <a href=\"http:\/\/showcase.xojo.com\">Showcase<\/a>.<\/p>\n<p>Adem\u00e1s de ello, saca provecho de las herramientas de <a href=\"https:\/\/toolbox.marketingtools.apple.com\">m\u00e1rketing proporcionadas por Apple<\/a>. Estas te permitir\u00e1n crear contenidos promocionales, enlaces y tambi\u00e9n c\u00f3digos QR apuntando a la descarga de tu app y que podr\u00e1s utilizar en tu sitio web o bien en las redes sociales a la hora de promocionar tu app.<\/p>\n<h2>10. Los siguientes pasos\u2026<\/h2>\n<p>Una vez tu app est\u00e9 disponible en la App Store, muy probablemente ir\u00e1s recibiendo comentarios y retroalimentaci\u00f3n por parte de tus usuarios. Adicionalmente, y muy probablemente, tambi\u00e9n debas de corregir alg\u00fan que otro fallo que se haya escapado durante la fase de pruebas. Esto significa que probablemente debas de trabajar en dos versiones de tu producto a partir de ese momento:<\/p>\n<ul>\n<li>La versi\u00f3n p\u00fablica, disponible en la App Store.<\/li>\n<li>La siguiente versi\u00f3n mayor en la que se implementen nuevas caracter\u00edsticas significativas.<\/li>\n<\/ul>\n<p>Para ello resulta casi imprescindible que guardes tus proyectos iOS de Xojo en formato texto, adem\u00e1s de que utilices el sistema de versionado de c\u00f3digo que encuentres m\u00e1s de tu agrado. Esto te permitir\u00e1 mantener ambas (o m\u00e1s) ramas del mismo proyecto e ir trabajando en cada una de ellas a medida que lo precises, aparte de otras muchas ventajas.<\/p>\n<h2>En conclusi\u00f3n<\/h2>\n<p>Incluso las apps de iOS m\u00e1s &#8220;sencillas&#8221; requieren una buena cantidad de tiempo y esfuerzo, si bien gracias a Xojo ambos aspectos se ven reducidos de forma muy notable.<\/p>\n<p>No hay nada como predicar con el ejemplo (ya sabes el dicho: &#8220;Eat your own dog food&#8221;), y estos son los consejos que estoy llevando a la pr\u00e1ctica durante el desarrollo de una peque\u00f1a aplicaci\u00f3n iOS gratuita (iPhone) que permite controlar los gastos de los viajes (aunque tambi\u00e9n se puede usar para registrar los gastos del d\u00eda a d\u00eda); y aunque por el momento s\u00f3lo est\u00e1 localizada en Espa\u00f1ol, Ingl\u00e9s y Franc\u00e9s\u2026 seguro que en una futura actualizaci\u00f3n tambi\u00e9n a\u00f1adir\u00e9 el Alem\u00e1n, y Chino; as\u00ed como las caracter\u00edsticas que en esta primera versi\u00f3n se han quedado apuntadas para &#8220;pr\u00f3ximas versiones&#8221;.<\/p>\n<p>Si quieres echarle un ojo a la app, puedes descargarla desde <a class=\"css-1jxf684 r-bcqeeo r-1ttztb7 r-qvutc0 r-poiln3 r-1loqt21\" dir=\"ltr\" role=\"link\" href=\"https:\/\/t.co\/GH09tURVKY\" target=\"_blank\" rel=\"noopener noreferrer nofollow\">apple.co\/3EGL33r<\/a>, y cuando saque la pr\u00f3xima versi\u00f3n con m\u00e1s capacidades y completa (en julio de 2025), tambi\u00e9n podr\u00e1s descargar el c\u00f3digo fuente completo del proyecto desde <a href=\"http:\/\/github.com\/aprendexojo\/\">mi p\u00e1gina en GitHub<\/a>!<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Xojo es un entorno de desarrollo tremendamente \u00fatil, r\u00e1pido y pr\u00e1ctico a la hora de llevar a buen puerto tu pr\u00f3ximo proyecto de app para iOS. En este art\u00edculo te ofrezco una serie de sugerencias pr\u00e1cticas.<\/p>\n","protected":false},"author":269,"featured_media":33145,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_editorskit_title_hidden":false,"_editorskit_reading_time":0,"_editorskit_is_block_options_detached":false,"_editorskit_block_options_position":"{}","_uag_custom_page_level_css":"","_genesis_hide_title":false,"_genesis_hide_breadcrumbs":false,"_genesis_hide_singular_image":false,"_genesis_hide_footer_widgets":false,"_genesis_custom_body_class":"","_genesis_custom_post_class":"","_genesis_layout":"","footnotes":""},"categories":[10640,10648],"tags":[],"collections":[13012],"class_list":{"0":"post-32964","1":"post","2":"type-post","3":"status-publish","4":"format-standard","5":"has-post-thumbnail","7":"category-desarrollo-movil","8":"category-lenguajes-de-programacion","9":"collections-top-of-the-week-es","10":"entry"},"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v26.9 (Yoast SEO v26.9) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>10 Consejos a la hora de crear tus apps iOS - Codemotion Magazine<\/title>\n<meta name=\"description\" content=\"En este art\u00edculo encontrar\u00e1s los fundamentos para llevar el desarrollo de tus apps para iOS a buen puerto, \u00a1de principio a fin!\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.codemotion.com\/magazine\/es\/lenguajes-de-programacion\/10-consejos-a-la-hora-de-crear-tus-apps-ios\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"10 Consejos a la hora de crear tus apps iOS\" \/>\n<meta property=\"og:description\" content=\"En este art\u00edculo encontrar\u00e1s los fundamentos para llevar el desarrollo de tus apps para iOS a buen puerto, \u00a1de principio a fin!\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.codemotion.com\/magazine\/es\/lenguajes-de-programacion\/10-consejos-a-la-hora-de-crear-tus-apps-ios\/\" \/>\n<meta property=\"og:site_name\" content=\"Codemotion Magazine\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/Codemotion.Italy\/\" \/>\n<meta property=\"article:published_time\" content=\"2025-05-26T08:48:45+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-05-26T08:48:47+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2025\/05\/ChatGPT-Image-26-may-2025-10_45_48-1.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1536\" \/>\n\t<meta property=\"og:image:height\" content=\"1024\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Javier\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@Bloguintosh\" \/>\n<meta name=\"twitter:site\" content=\"@CodemotionIT\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Javier\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"14 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.codemotion.com\/magazine\/es\/lenguajes-de-programacion\/10-consejos-a-la-hora-de-crear-tus-apps-ios\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.codemotion.com\/magazine\/es\/lenguajes-de-programacion\/10-consejos-a-la-hora-de-crear-tus-apps-ios\/\"},\"author\":{\"name\":\"Javier\",\"@id\":\"https:\/\/www.codemotion.com\/magazine\/#\/schema\/person\/8647944f90883a9526705a0998ffbe1a\"},\"headline\":\"10 Consejos a la hora de crear tus apps iOS\",\"datePublished\":\"2025-05-26T08:48:45+00:00\",\"dateModified\":\"2025-05-26T08:48:47+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.codemotion.com\/magazine\/es\/lenguajes-de-programacion\/10-consejos-a-la-hora-de-crear-tus-apps-ios\/\"},\"wordCount\":3308,\"publisher\":{\"@id\":\"https:\/\/www.codemotion.com\/magazine\/#organization\"},\"image\":{\"@id\":\"https:\/\/www.codemotion.com\/magazine\/es\/lenguajes-de-programacion\/10-consejos-a-la-hora-de-crear-tus-apps-ios\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2025\/05\/ChatGPT-Image-26-may-2025-10_45_48-1.png\",\"articleSection\":[\"Desarrollo m\u00f3vil\",\"Lenguajes de programaci\u00f3n\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.codemotion.com\/magazine\/es\/lenguajes-de-programacion\/10-consejos-a-la-hora-de-crear-tus-apps-ios\/\",\"url\":\"https:\/\/www.codemotion.com\/magazine\/es\/lenguajes-de-programacion\/10-consejos-a-la-hora-de-crear-tus-apps-ios\/\",\"name\":\"10 Consejos a la hora de crear tus apps iOS - Codemotion Magazine\",\"isPartOf\":{\"@id\":\"https:\/\/www.codemotion.com\/magazine\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.codemotion.com\/magazine\/es\/lenguajes-de-programacion\/10-consejos-a-la-hora-de-crear-tus-apps-ios\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.codemotion.com\/magazine\/es\/lenguajes-de-programacion\/10-consejos-a-la-hora-de-crear-tus-apps-ios\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2025\/05\/ChatGPT-Image-26-may-2025-10_45_48-1.png\",\"datePublished\":\"2025-05-26T08:48:45+00:00\",\"dateModified\":\"2025-05-26T08:48:47+00:00\",\"description\":\"En este art\u00edculo encontrar\u00e1s los fundamentos para llevar el desarrollo de tus apps para iOS a buen puerto, \u00a1de principio a fin!\",\"breadcrumb\":{\"@id\":\"https:\/\/www.codemotion.com\/magazine\/es\/lenguajes-de-programacion\/10-consejos-a-la-hora-de-crear-tus-apps-ios\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.codemotion.com\/magazine\/es\/lenguajes-de-programacion\/10-consejos-a-la-hora-de-crear-tus-apps-ios\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.codemotion.com\/magazine\/es\/lenguajes-de-programacion\/10-consejos-a-la-hora-de-crear-tus-apps-ios\/#primaryimage\",\"url\":\"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2025\/05\/ChatGPT-Image-26-may-2025-10_45_48-1.png\",\"contentUrl\":\"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2025\/05\/ChatGPT-Image-26-may-2025-10_45_48-1.png\",\"width\":1536,\"height\":1024},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.codemotion.com\/magazine\/es\/lenguajes-de-programacion\/10-consejos-a-la-hora-de-crear-tus-apps-ios\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.codemotion.com\/magazine\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Lenguajes de programaci\u00f3n\",\"item\":\"https:\/\/www.codemotion.com\/magazine\/es\/lenguajes-de-programacion\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"10 Consejos a la hora de crear tus apps iOS\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.codemotion.com\/magazine\/#website\",\"url\":\"https:\/\/www.codemotion.com\/magazine\/\",\"name\":\"Codemotion Magazine\",\"description\":\"We code the future. Together\",\"publisher\":{\"@id\":\"https:\/\/www.codemotion.com\/magazine\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.codemotion.com\/magazine\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.codemotion.com\/magazine\/#organization\",\"name\":\"Codemotion\",\"url\":\"https:\/\/www.codemotion.com\/magazine\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.codemotion.com\/magazine\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2019\/11\/codemotionlogo.png\",\"contentUrl\":\"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2019\/11\/codemotionlogo.png\",\"width\":225,\"height\":225,\"caption\":\"Codemotion\"},\"image\":{\"@id\":\"https:\/\/www.codemotion.com\/magazine\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/Codemotion.Italy\/\",\"https:\/\/x.com\/CodemotionIT\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.codemotion.com\/magazine\/#\/schema\/person\/8647944f90883a9526705a0998ffbe1a\",\"name\":\"Javier\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.codemotion.com\/magazine\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/7d8697b4578139fa315e8e8058abaf814935c00af9f9f5faac583bdef6e4c334?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/7d8697b4578139fa315e8e8058abaf814935c00af9f9f5faac583bdef6e4c334?s=96&d=mm&r=g\",\"caption\":\"Javier\"},\"description\":\"Software Engineer at Xojo, Inc.\",\"sameAs\":[\"https:\/\/www.xojo.com\",\"https:\/\/x.com\/Bloguintosh\",\"http:\/\/youtube.com\/goxojo\"],\"url\":\"https:\/\/www.codemotion.com\/magazine\/author\/javier\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"10 Consejos a la hora de crear tus apps iOS - Codemotion Magazine","description":"En este art\u00edculo encontrar\u00e1s los fundamentos para llevar el desarrollo de tus apps para iOS a buen puerto, \u00a1de principio a fin!","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.codemotion.com\/magazine\/es\/lenguajes-de-programacion\/10-consejos-a-la-hora-de-crear-tus-apps-ios\/","og_locale":"en_US","og_type":"article","og_title":"10 Consejos a la hora de crear tus apps iOS","og_description":"En este art\u00edculo encontrar\u00e1s los fundamentos para llevar el desarrollo de tus apps para iOS a buen puerto, \u00a1de principio a fin!","og_url":"https:\/\/www.codemotion.com\/magazine\/es\/lenguajes-de-programacion\/10-consejos-a-la-hora-de-crear-tus-apps-ios\/","og_site_name":"Codemotion Magazine","article_publisher":"https:\/\/www.facebook.com\/Codemotion.Italy\/","article_published_time":"2025-05-26T08:48:45+00:00","article_modified_time":"2025-05-26T08:48:47+00:00","og_image":[{"width":1536,"height":1024,"url":"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2025\/05\/ChatGPT-Image-26-may-2025-10_45_48-1.png","type":"image\/png"}],"author":"Javier","twitter_card":"summary_large_image","twitter_creator":"@Bloguintosh","twitter_site":"@CodemotionIT","twitter_misc":{"Written by":"Javier","Est. reading time":"14 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.codemotion.com\/magazine\/es\/lenguajes-de-programacion\/10-consejos-a-la-hora-de-crear-tus-apps-ios\/#article","isPartOf":{"@id":"https:\/\/www.codemotion.com\/magazine\/es\/lenguajes-de-programacion\/10-consejos-a-la-hora-de-crear-tus-apps-ios\/"},"author":{"name":"Javier","@id":"https:\/\/www.codemotion.com\/magazine\/#\/schema\/person\/8647944f90883a9526705a0998ffbe1a"},"headline":"10 Consejos a la hora de crear tus apps iOS","datePublished":"2025-05-26T08:48:45+00:00","dateModified":"2025-05-26T08:48:47+00:00","mainEntityOfPage":{"@id":"https:\/\/www.codemotion.com\/magazine\/es\/lenguajes-de-programacion\/10-consejos-a-la-hora-de-crear-tus-apps-ios\/"},"wordCount":3308,"publisher":{"@id":"https:\/\/www.codemotion.com\/magazine\/#organization"},"image":{"@id":"https:\/\/www.codemotion.com\/magazine\/es\/lenguajes-de-programacion\/10-consejos-a-la-hora-de-crear-tus-apps-ios\/#primaryimage"},"thumbnailUrl":"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2025\/05\/ChatGPT-Image-26-may-2025-10_45_48-1.png","articleSection":["Desarrollo m\u00f3vil","Lenguajes de programaci\u00f3n"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/www.codemotion.com\/magazine\/es\/lenguajes-de-programacion\/10-consejos-a-la-hora-de-crear-tus-apps-ios\/","url":"https:\/\/www.codemotion.com\/magazine\/es\/lenguajes-de-programacion\/10-consejos-a-la-hora-de-crear-tus-apps-ios\/","name":"10 Consejos a la hora de crear tus apps iOS - Codemotion Magazine","isPartOf":{"@id":"https:\/\/www.codemotion.com\/magazine\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.codemotion.com\/magazine\/es\/lenguajes-de-programacion\/10-consejos-a-la-hora-de-crear-tus-apps-ios\/#primaryimage"},"image":{"@id":"https:\/\/www.codemotion.com\/magazine\/es\/lenguajes-de-programacion\/10-consejos-a-la-hora-de-crear-tus-apps-ios\/#primaryimage"},"thumbnailUrl":"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2025\/05\/ChatGPT-Image-26-may-2025-10_45_48-1.png","datePublished":"2025-05-26T08:48:45+00:00","dateModified":"2025-05-26T08:48:47+00:00","description":"En este art\u00edculo encontrar\u00e1s los fundamentos para llevar el desarrollo de tus apps para iOS a buen puerto, \u00a1de principio a fin!","breadcrumb":{"@id":"https:\/\/www.codemotion.com\/magazine\/es\/lenguajes-de-programacion\/10-consejos-a-la-hora-de-crear-tus-apps-ios\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.codemotion.com\/magazine\/es\/lenguajes-de-programacion\/10-consejos-a-la-hora-de-crear-tus-apps-ios\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.codemotion.com\/magazine\/es\/lenguajes-de-programacion\/10-consejos-a-la-hora-de-crear-tus-apps-ios\/#primaryimage","url":"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2025\/05\/ChatGPT-Image-26-may-2025-10_45_48-1.png","contentUrl":"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2025\/05\/ChatGPT-Image-26-may-2025-10_45_48-1.png","width":1536,"height":1024},{"@type":"BreadcrumbList","@id":"https:\/\/www.codemotion.com\/magazine\/es\/lenguajes-de-programacion\/10-consejos-a-la-hora-de-crear-tus-apps-ios\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.codemotion.com\/magazine\/"},{"@type":"ListItem","position":2,"name":"Lenguajes de programaci\u00f3n","item":"https:\/\/www.codemotion.com\/magazine\/es\/lenguajes-de-programacion\/"},{"@type":"ListItem","position":3,"name":"10 Consejos a la hora de crear tus apps iOS"}]},{"@type":"WebSite","@id":"https:\/\/www.codemotion.com\/magazine\/#website","url":"https:\/\/www.codemotion.com\/magazine\/","name":"Codemotion Magazine","description":"We code the future. Together","publisher":{"@id":"https:\/\/www.codemotion.com\/magazine\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.codemotion.com\/magazine\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.codemotion.com\/magazine\/#organization","name":"Codemotion","url":"https:\/\/www.codemotion.com\/magazine\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.codemotion.com\/magazine\/#\/schema\/logo\/image\/","url":"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2019\/11\/codemotionlogo.png","contentUrl":"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2019\/11\/codemotionlogo.png","width":225,"height":225,"caption":"Codemotion"},"image":{"@id":"https:\/\/www.codemotion.com\/magazine\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/Codemotion.Italy\/","https:\/\/x.com\/CodemotionIT"]},{"@type":"Person","@id":"https:\/\/www.codemotion.com\/magazine\/#\/schema\/person\/8647944f90883a9526705a0998ffbe1a","name":"Javier","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.codemotion.com\/magazine\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/7d8697b4578139fa315e8e8058abaf814935c00af9f9f5faac583bdef6e4c334?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/7d8697b4578139fa315e8e8058abaf814935c00af9f9f5faac583bdef6e4c334?s=96&d=mm&r=g","caption":"Javier"},"description":"Software Engineer at Xojo, Inc.","sameAs":["https:\/\/www.xojo.com","https:\/\/x.com\/Bloguintosh","http:\/\/youtube.com\/goxojo"],"url":"https:\/\/www.codemotion.com\/magazine\/author\/javier\/"}]}},"featured_image_src":"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2025\/05\/ChatGPT-Image-26-may-2025-10_45_48-1-600x400.png","featured_image_src_square":"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2025\/05\/ChatGPT-Image-26-may-2025-10_45_48-1-600x600.png","author_info":{"display_name":"Javier","author_link":"https:\/\/www.codemotion.com\/magazine\/author\/javier\/"},"uagb_featured_image_src":{"full":["https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2025\/05\/ChatGPT-Image-26-may-2025-10_45_48-1.png",1536,1024,false],"thumbnail":["https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2025\/05\/ChatGPT-Image-26-may-2025-10_45_48-1-150x150.png",150,150,true],"medium":["https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2025\/05\/ChatGPT-Image-26-may-2025-10_45_48-1-300x200.png",300,200,true],"medium_large":["https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2025\/05\/ChatGPT-Image-26-may-2025-10_45_48-1-768x512.png",768,512,true],"large":["https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2025\/05\/ChatGPT-Image-26-may-2025-10_45_48-1-1024x683.png",1024,683,true],"1536x1536":["https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2025\/05\/ChatGPT-Image-26-may-2025-10_45_48-1.png",1536,1024,false],"2048x2048":["https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2025\/05\/ChatGPT-Image-26-may-2025-10_45_48-1.png",1536,1024,false],"small-home-featured":["https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2025\/05\/ChatGPT-Image-26-may-2025-10_45_48-1-100x100.png",100,100,true],"sidebar-featured":["https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2025\/05\/ChatGPT-Image-26-may-2025-10_45_48-1-180x128.png",180,128,true],"genesis-singular-images":["https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2025\/05\/ChatGPT-Image-26-may-2025-10_45_48-1-896x504.png",896,504,true],"archive-featured":["https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2025\/05\/ChatGPT-Image-26-may-2025-10_45_48-1-400x225.png",400,225,true],"gb-block-post-grid-landscape":["https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2025\/05\/ChatGPT-Image-26-may-2025-10_45_48-1-600x400.png",600,400,true],"gb-block-post-grid-square":["https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2025\/05\/ChatGPT-Image-26-may-2025-10_45_48-1-600x600.png",600,600,true]},"uagb_author_info":{"display_name":"Javier","author_link":"https:\/\/www.codemotion.com\/magazine\/author\/javier\/"},"uagb_comment_info":0,"uagb_excerpt":"Xojo es un entorno de desarrollo tremendamente \u00fatil, r\u00e1pido y pr\u00e1ctico a la hora de llevar a buen puerto tu pr\u00f3ximo proyecto de app para iOS. En este art\u00edculo te ofrezco una serie de sugerencias pr\u00e1cticas.","lang":"es","_links":{"self":[{"href":"https:\/\/www.codemotion.com\/magazine\/wp-json\/wp\/v2\/posts\/32964","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.codemotion.com\/magazine\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.codemotion.com\/magazine\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.codemotion.com\/magazine\/wp-json\/wp\/v2\/users\/269"}],"replies":[{"embeddable":true,"href":"https:\/\/www.codemotion.com\/magazine\/wp-json\/wp\/v2\/comments?post=32964"}],"version-history":[{"count":2,"href":"https:\/\/www.codemotion.com\/magazine\/wp-json\/wp\/v2\/posts\/32964\/revisions"}],"predecessor-version":[{"id":33146,"href":"https:\/\/www.codemotion.com\/magazine\/wp-json\/wp\/v2\/posts\/32964\/revisions\/33146"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.codemotion.com\/magazine\/wp-json\/wp\/v2\/media\/33145"}],"wp:attachment":[{"href":"https:\/\/www.codemotion.com\/magazine\/wp-json\/wp\/v2\/media?parent=32964"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.codemotion.com\/magazine\/wp-json\/wp\/v2\/categories?post=32964"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.codemotion.com\/magazine\/wp-json\/wp\/v2\/tags?post=32964"},{"taxonomy":"collections","embeddable":true,"href":"https:\/\/www.codemotion.com\/magazine\/wp-json\/wp\/v2\/collections?post=32964"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}