Site icon Mi blog personal

Escribiendo la app en Swift 3 de El Diario

Todo comenzó cuando una empresa externa desarrolló la aplicación para El Diario que aún se maneja en el sistema operativo Android, sin embargo las necesidades del sitio eran muy diferentes a las expectativas con lo que se deseaba más que nada.

Llegó un momento critico en el departamento, solicitar la baja definitiva de la aplicación en iOS por irregularidades en la misma, creí que las apps perecerían tarde o temprano.

En algún momento dentro del desarrollo, mientras estábamos en junta con la mesa de redacción, se planteó volver a realizar las aplicaciones pero en casa (Como debió ser desde un principio); Fue cuando me propusieron desarrollar las apps y quise comenzar con iOS (Sobre todo porque soy un usuario de la manzana mordida jejeje).

El primer obstáculo que tenía y el más importante de cualquiera, era que no tenia conocimiento alguno sobre las aplicaciones nativas, pero me di a la tarea de encontrar tutoriales, información relevante, inclusive foros de esos pocos que existen en la actualidad, pues otra gran barrera era que pocos hablaban de Swift 3, muchos, y hablo de un 80% todavía se basaban en Swift 2 para el desarrollo.

Tome precaución y no quise verme muy apresurado al sacar una app mal hecha y que diera los mismos resultados que los terceros, un compañero me recomendó usar Ionic, escribiendo html, css, javascript pero en el entorno XCode, más la idea no me llamaba tanto la atención, siempre he preferido hacer las cosas como se deben, y creí conveniente que la aplicación nativa iba a ser mucho más eficaz.

Después de dos semanas de estar leyendo y practicando, me di a la tarea de comenzar a desarrollar la aplicación basado en lo que había aprendido y durante la marcha, aprendí otras tantas cosas más que ignoraba.

1 mes duró la aplicación en estar lista, 1 mes en el que se aprendió un nuevo lenguaje de programación bastante bueno, del cual creo todavía basta mucho por aprender.

Problemas en código

Hubo muchos inconvenientes durante el desarrollo, de hecho la aplicación la empecé de 0, unas 3 veces para ser exacto, pues el MVC no me convencía del todo, mientras tanto algunos códigos no funcionaban en la nueva versión de Swift y eso me sacaba de mis casillas muy pronto.

El mayor problema que tenía en algún tiempo, fue que las tablas no se auto incrementaban dependiendo del contenido en ellas y cada celda tenía un tamaño en especifico que no era para nada aceptable.

Mientras leía la librería de Swift me encontré con esto que ayudaría con la altura en el

viewDidLoad():
tableView.rowHeight = UITableViewAutomaticDimension
tableView.estimatedRowHeight = 140

La altura de la celda era en automático y se estimaba que la mínima altura para cada celda era de 140 por lo que aunque el contenido fuera muy poco este tamaño sería aceptable.

Además dentro de UITableViewController tuve que agregar estas dos funciones para que quedara completamente bien:

override func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat {   return UITableViewAutomaticDimension}
override func tableView(_ tableView: UITableView, estimatedHeightForRowAt indexPath: IndexPath) -> CGFloat {
   return UITableViewAutomaticDimension
}

Tiempo de subir a la AppStore

De pronto ya había terminado la aplicación, había corregido bastantes errores de programación (rehaciendo la app) y mejorando la interacción del usuario, ya estaba todo listo, faltaba el punto final que era subir la app a la temida AppStore.

Le proceso me fue sencillo, tampoco tenía conocimiento de como hacerlo, la final terminé siguiendo un tutorial de Apple.

Cuando por fin estaba archivada y en proceso de revisión, siendo sinceros, me llamaba mucho la atención que la AppStore me rechazara la app, y me daba miedo a decir verdad.

El día llegó, mi iTunes Connect en el iPhone sonó con una sola notificación: Your app was Rejected, REJECTED, me dio bastante vueltas la cabeza que podría ser, me desanimé porque había pasado, cuando leo el correo para verificar que era, vaya que había sido por una bobada.

La app recogía la Ubicación y solicitaba permiso para mandar notificaciones, cosa que aún no se utilizaba pero ya lo había preparado para utilizarlo en un futuro, sin embargo, a los compañeros de Cupertino no les gustó para nada este asunto.

Terminé comentando esa parte del código y volví a intentar la validación de la app, nuevamente sonó mi iTunes Connect enseguida revisé el correo, el estatus:

Aprobada!! Había sido aprobada!!, solo quedaba mandar la invitación para que la probara mesa de Redacción y verificara que todo estuviera en orden.

Ahora solo espero la luz verde para sacar la App en iOS.

Exit mobile version