Hola, soy Miguel y esta vez les traigo otro tutorial.
Índice
Ejecutar acciones específicas en el primer lanzamiento y diferentes en cada lanzamiento posterior
Introducción
Después de conquistar la posibilidad de guardar datos, ya sea usando iCloud
o jugando de manera segura y usando UserDefaults
, necesita poder cargar esos datos. Si bien hacer clic en un botón puede ser una forma fácil de cargar datos, no desea que su usuario haga clic en un botón cada vez que desee los datos más actualizados para su aplicación.
Como dije anteriormente, puede suponer que usar un botón sería la forma más fácil de cargar los datos de sus usuarios, pero poder detectar si la sesión actual de la aplicación es el primer lanzamiento o no no es tan difícil como se podría pensar.
¿Qué son los cheques de primer lanzamiento y cómo son útiles?
Ser capaz de verificar si la sesión actual de la aplicación es el primer lanzamiento o no es bastante importante para diferentes tipos de aplicaciones. El más importante sería si su aplicación requiere un inicio de sesión. Cuando el usuario inicia su aplicación por primera vez, prefiere que vaya a una página de inicio de sesión en lugar de a la página de inicio de su aplicación, ¿verdad? Entonces deberías poder comprobar si es la primera vez que acceden a la aplicación o no.
Otro buen momento para usar esto es si su aplicación requiere que un usuario elija ciertas configuraciones en el primer lanzamiento, luego, posteriormente, en cada lanzamiento posterior, debe cargar esas configuraciones. La forma más fácil de implementar algo como esto es el uso de un viejo amigo, fiel: UserDefaults
. Empecemos.
Requisitos
- Xcode 10
- Swift 4 (y superior)
Asumiré que tienes un poco de conocimiento sobre cómo funciona UserDefaults
. UserDefaults
es uno de los marcos más útiles que existen, en mi opinión.
Empezando
Lo primero que debe hacer, como siempre, es crear un nuevo proyecto de Xcode.
Seleccionaremos una aplicación de vista única para este tutorial (el proyecto completo se puede encontrar al final de este artículo).
Elija una aplicación de vista única para este proyecto
A continuación, nómbrelo como desee; para este proyecto, lo nombraré CheckForFirstTimeLaunchDemo
.
Haga clic en siguiente y guárdelo en algún lugar que recuerde. Ahora vamos a poner en marcha un código simple.
El código
Para este artículo, elegí no hacer ningún trabajo de interfaz de usuario. Hice esto porque técnicamente no necesita ninguno, además, es para que la gente entienda mejor que no necesita elementos de la interfaz de usuario, como un botón, para poder cargar datos cuando se carga su aplicación.
Primero nos dirigiremos ViewController.swift
y colocaremos el cursor dentro del ViewDidLoad
método. Una vez que hayas hecho eso, haz que se vea así:
Línea 5: Esto solo establece la variable defaults
en UserDefaults.standard
.
Línea 10: Esto es lo que comienza todo. Es simplemente un if-statement
que verifica si la clave “First Launch”
está configurada true
dentro de defaults
. Ahora, si es el primer lanzamiento, la clave “First Launch”
no se establecerá en nada, por lo que la declaración if generará una false
lectura.
Línea 21: si es falso, durante el primer lanzamiento de la aplicación, llegará a la else
parte del if-statement
. Debajo de esta línea es donde debe colocar el código que desea que se ejecute solo durante el primer lanzamiento de una aplicación. Todo lo que hace la línea 21 es imprimir “First”
en el área de depuración.
Línea 25: Aquí es donde ocurre la mayor parte de la magia: una vez que la aplicación se ejecuta por primera vez, “First Launch”
no se configura en nada, por lo que se establece de forma predeterminada false
. Pero después de que se produzca el primer lanzamiento, queremos que sea «Primer lanzamiento» true
, lo que significa que el primer lanzamiento ya se realizó. De esa manera, cuando if-statement
se vuelva a ejecutar la línea 10, la else
parte no se ejecutará, a menos que el usuario elimine la aplicación y la reinstale.
Línea 12: Esto se imprime “Second+”
en el área de depuración, lo que significa que el código que se encuentra debajo es lo que se está ejecutando después de que ya se produjo el primer lanzamiento.
Línea 16: esta línea es exactamente la misma que la línea 25 pero en una sección diferente del if-statement
. Técnicamente no necesitamos esto, pero me hace sentir mejor tenerlo.
Y eso es todo por el código. Un poco de tl; dr para la explicación de la línea sería: coloque el código que desee que se ejecute en el primer lanzamiento solo entre las líneas 21 y 25. Coloque todo lo que desee que se ejecute en cada lanzamiento después de eso entre las líneas 12 y 16, y debería ser bueno para ¡Vamos!
Ejecutando la aplicación
Todo lo que tiene que hacer ahora es ejecutar el esquema que implementa la aplicación en el simulador de iPhone (puede llevar unos minutos si es la primera vez que ejecuta la aplicación en el simulador).
La primera vez que inicie la aplicación en el simulador o dispositivo real, el área de depuración debería decir “First.”
Después de eso, ingrese al modo multitarea y cierre la aplicación.
Después de hacer eso, simplemente ejecute el esquema en Xcode nuevamente (de esa manera obtendrá la salida de depuración), y ahora debería ver “Second+”
impreso.
Conclusión
Ser capaz de verificar si la sesión actual de la aplicación es la primera vez que se inicia o no, realmente no es tan difícil de lograr. Con nuestro amigo UserDefaults
, puede configurar su aplicación para que cargue datos automáticamente cada vez que la abra en solo unos minutos.
Ser capaz de hacer esto agrega otra capa de usabilidad que cualquier usuario de su aplicación agradecería enormemente. Ahora no tienen que recuperar manualmente sus datos actualizados. También será de gran ayuda si está creando una aplicación que necesita un inicio de sesión.
Cuanto más simple sea la interfaz de usuario, mejor.
Archivos de proyecto
Aquí hay un enlace al proyecto GitHub para este tutorial.
Añadir comentario