Variables de inicio para tu aplicación iOS – Swift (Settings)

Standard

 

Una de las opciones para almacenar las preferencias de usuario es utilizar “Settings Bundle”. Implementar Settings Bundle te permite manejar tus preferencias desde las configuraciones propias de la app.

En el siguiente tutorial les mostraré como crear una aplicación sencilla iOS que te permitirá cambiar el color de fondo según la preferencia del usuario.

Screen Shot 2016-06-13 at 6.28.27 PM

Para el tutorial estaré trabajando con Xcode Versión 7.2

Al final del tutorial podrás consultar una url de donde podrás descargar el proyecto.

Continue reading

Memorias de la conferencia: “Best practices for great iOS UI Design”

Standard

Hola a todos.

La semana pasada gracias a una invitación que llegó a Hunabsys tuve la oportunidad asistir a una conferencia impartida por el señor Rodrigo Gómez, Senior Systems Engineer de Apple México. La conferencia trató sobre algunas buenas prácticas de diseño de interfaces de usuario para iOS.

Éstas buenas prácticas que se describieron en la conferencia nos sirven para contrarrestar muchos de los errores o dificultades con los que comúnmente nuestra aplicación móvil puede toparse.

El día de hoy les compartiré el listado de esas dificultades y una serie de tips que nos ayudarán a evitarlas.

Continue reading

Enviar una App a la Apple App Store

Standard
De la guía “Acerca de los Flujos de Trabajo para la Distribución de Apps” (About App Distribution Workflows) tomamos la siguiente imagen.
Para poder publicar nuestra App en la App Store, tenemos que tomar en cuenta tres pasos:
  1. Enroll. Darte de alta en el Apple Developer Program.
  2. Develop. Básicamente, desarrollar tu App.
  3. Distribute. El proceso de distribución.

App Distribution Workflow

Es en éste último paso donde me voy a enfocar en esta publicación.

Ahora, aunque el paso de hacer de Pruebas Beta (Beta Test App) y Liberar la App (Release App), son muy interesantes, lo vamos a dejar para una publicación a futuro.
Específicamente voy a hablar de las consideraciones que hay que tomar para Enviar la App (Submit App).
Nota. Dejo el link a las guías oficiales por si quieres revisar estos procesos a detalle.

Continue reading

Pruebas Automáticas de UI en Xcode 7

Standard

Hola, el día de hoy voy a ampliar un poco más el tema de las pruebas automáticas, ya que en Hunabsys estamos ampliando más la práctica como parte de los mecanismos de validación que estamos implementando en nuestros proyectos.

¿Qué son las Pruebas de UI?

Las Pruebas de UI son pruebas para validar la interfaz del usuario. No es que sea nuevo, ya lo hacemos todo el tiempo para validar nuestros proyectos, de manera manual, en las apps lo hacemos haciendo taps sobre los diferentes elementos de la pantalla.

Pero las pruebas manuales para realizar las regresiones es aburrido. Además de que tienes que recordar el probar todos los pasos para validar que no hayamos introducido algún error en cada iteración.

Hacer Pruebas Unitarias de clases Swift es relativamente sencillo: podemos probar “unidades” (leer una “clase”) a través de su interfaz de programación, así que escribimos código para asegurarnos que hace lo que se supone programamos.

En el caso de las Pruebas Automáticas de UI no es tan sencillo: debemos pretender que alguien está haciendo tap sobre la pantalla y arrastrando e interactuando con tu app para que haya cambios en la interfaz, debe de haber mecanismos para poder “ver” si la UI cambió de acuerdo a lo esperado.

Continue reading

Mostrar una Vista de Cargando en mi App de iOS (Loading View)

Standard

Introducción.

Cuando estás esperando porque se carguen datos de internet, necesitas mostrar una vista que indique que está esperando por los datos. La recomendación sería utilizar un “spinner” básico (UIActivityIndicatorView) para asegurar que la aplicación continúa en ejecución, y se puede acompañar de algún texto como “Loading …”.
A pesar de que es un comportamiento común en las aplicaciones, no es un control estándar y debe ser construido manualmente.

Aplicación de Muestra

A continuación les comparto un ejemplo del uso que se le puede dar a LoadingView.
Loading View

Continue reading

Storyboards en iOS 9

Standard

Hola a todos, desde hace tiempo he venido buscando la forma de aprovechar al máximo la opción que te da las versiones más nuevas de Xcode y iOS para usar Storyboards sobre el ya conocido Interface Builder, para construir las interfaces gráficas de nuestras aplicaciones.

De entrada los storyboards son excelentes para tener una visibilidad de todas las escenas involucradas con tus proyectos, pero a medida que el proyecto va creciendo se presentan ciertos retos:

Problema

storyboard-problem

1. Complejidad. A medida que va creciendo el proyecto nos llenamos de escenas que se pudieran agrupar de alguna manera como módulos.
2. Colaboración y control de versiones. Al tener un sólo archivo con todas las escenas, Main.storyboard, es muy difícil, por no decir imposible, la modificación de dos o más personas de las escenas, se hace un cuello de botella.
3. Desempeño. Conforme crece la complejidad de nuestros proyectos, hemos visto como el performance al cargar el editor de de storyboards se degrada. Esto no debe de ser problema en Macs más “grandes”, pero dado que no pienso cambiar la movilidad de mi Macbook Air, tuve que buscar opciones. 🙂 Continue reading

Primer WatchKit App: Interfaz de Usuario

Standard

Como lo prometí en una entrega anterior esta semana voy a hablar del desarrollo de aplicaciones con el Apple Watch, que funcionan como extensiones de una App para iPhone, esto como introducción para publicaciones posteriores, ya que al momento de escribir esta publicación se acaba de liberar una nueva actualización del watchOS2 donde ya nos permite desarrollar apps nativas donde el desempeño es mucho mejor y te da acceso a más funciones del Apple Watch.

Prerequisitos

Básicamente tener conocimientos de desarrollo para iOS, una mac y la última versión de Xcode.

Introducción

Aquí es donde les explico un poco de la arquitectura básica de la plataforma con dos tipos base: Apple Watch Application y una WatchKit Application.

WatchKit Apps

Como su nombre lo dice, un aplicación para WatchKit se basa completamente en el framework de WatchKit, para hacer su trabajo. El framework de WatchKit es una solución elegante llena el gap que hay entre un Apple Watch y un iPhone emparejado. (paired)

A52F6590-9B70-47F8-9D20-311ADEC797AA
Continue reading

Conectando IOS + SWIFT + BLE Sensor Tag + Acelerómetro

Standard

Buen día, hoy veremos un tema que tuvimos que atacar recientemente.

Por requerimientos de un cliente necesitamos conectar una aplicación hecha en Swift para IOS con un dispositivo BLE 4.0 para poder obtener los datos del acelerómetro.

 

Antes de empezar pondré el link de la página donde saqué la biblioteca para convertir los datos:

https://github.com/StevenRudenko/BleSensorTag

Ahora sí comencemos.

Lo primero es crear un proyecto IOS. Continue reading

Realm parte 1

Standard

Antes que nada les mando un saludo y me presento: Mi nombre es César Abel Otero Robles A.K.A “el mano” ;), tengo 29 años cumplidos, soy de Los Mochis y vivo en Culiacán desde hace 6 años. Soy desarrollador, con un tanto más de enfoque al backend y bases de datos.

En esta ocasión les vengo manejando Realm. ¿Que es Realm? se estarán preguntando. Pues Realm es un motor de persistencia para dispositivos móviles, es multiplataforma (iOS, OS X y Android), mucho mas rápido que cualquier ORM actual y también es frecuentemente mas rápido que una consulta pura de SQLite

Continue reading