DECODE BLOG

Programas, webs y aplicaciones móviles a su medida

Tag: Objective-C

AFNetworking error: Unacceptable content-type: text/html

En una entrada anterior vimos qué es y para qué sirve AFNetworking. En esa misma entrada, vimos cómo añadirla a nuestro proyecto Xcode, ahora haré un pequeño resumen que nos recuerde para qué sirve esta librería y veremos cómo solucionar este error de una forma muy sencilla.

AFNetworking es una librería que nos facilita la gestión de las tareas de networking para iOS y OSX.

Utilizamos AFNetworking porque nos ayuda sobre todo en temas de conversión de datos json, xml etc. También, hace menos tedioso trabajar con la sintaxis porque la hace más fácil de leer.

Una vez hemos alabado las bondades de AFNetworking, vamos a resolver un problema que nos puede ocurrir al hacer una llamada a un servicio web. Este error simplemente nos dice:

Unacceptable content-type: text/html

Continue reading

Gravity Planet

¿Qué es Gravity Planet?

Hola chicos, hoy traigo mi primera app para iOS llamada Gravity Planet no es exactamente un juego, es más bien una app de entretenimiento que nos ayuda a conocer un poco más la pequeña porción de universo que ocupamos. Ahora mismo sólo está disponible para iOS. Es totalmente gratuita y no necesita conexión a internet para funcionar.

Lo que he querido conseguir es una interfaz limpia y simple.
5jhKcxe

Las funciones de Gravity Planet

Su funcionamiento es realmente sencillo, nos pide nuestro peso y nos dice cuánto pesaríamos en cada planeta y satélite del Sistema Solar en función de la gravedad de esos lugares.

También podemos acceder a la página de detalle de cada uno de los planetas y satélites para saber datos curiosos sobre ellos.

Podrás compartir en las principales redes sociales tu peso en cualquier planeta para que compararlo con tus amigos.

¿Cómo funciona Gravity Planet?

El funcionamiento es muy sencillo, basta con descargar la aplicación, indicar tu peso y comprobar qué pesarías en el Sistema Solar. No requiere registro ni conexión a internet.

Una vez accedas a la app, lo primero que se muestra es la pantalla de carga, que tarda un par de segundos en desaparecer, y seguidamente aparece la pantalla donde se explica qué es el peso y qué es la masa.
qudxewc

En cuanto pulsemos el botón “Saltar explicación” desaparecerá esta pantalla y podremos seleccionar nuestro peso:
jiEP4ZF

Una vez lo hayamos hecho pulsamos “Calcular” y veremos la pantalla de resultados, desde la que se puede ir al detalle presionando encima de cada uno de los botones de colores.
9Hhh6vv

En el detalle podemos ver curiosidades sobre estos lugares y compartir el peso en ese lugar en las principales redes sociales.

QuXw3Wi UIBiBmo

 

 

 

 

 

 

 

 

Resumen

Y ya está, eso es todo, es la primera que hago y soy consciente de que habrá cosas que mejorar, pero me parece una app interesante y busco críticas constructivas para seguir mejorando y así poder dedicarme a algo que me ilusiona muchísimo y que me está haciendo sentirme un poco orgulloso. Dejo el enlace a la AppStore por si queréis descargarla y dejar valoración de 5 estrellas jajaja.

bttn_apple_appstore_official-80cdcfe5a0c1b7e975caaf540c92e2d4

Usar timer en Objective-C

En cualquier momento podemos necesitar el típico timer que se repita cada X segundos o que se ejecute una sólo vez pasado el tiempo que deseemos. Yo he tenido que usarlo por primera vez en la aplicación que estoy a punto de publicar para mostrar un anuncio y así asegurarme de que está preparado para ser mostrado.

He visto varios ejemplos hechos en Objective-C pero demasiado complicados para lo que queremos hacer, aquí voy a explicar algo muy sencillo.

En mi caso, he creado una función llamada “createTimer” porque soy muy original y la llamo en el evento “viewDidLoad”. Esta función instancia un timer de 5 segundos y hace que no se repita. La función luce así:

-(NSTimer*)createTimer {
    // Creamos el timer con 5 segundos y hacemos que no se repita
    return [NSTimer scheduledTimerWithTimeInterval:5.0 target:self selector:@selector(timerTicked:) userInfo:nil repeats:NO];
}

Ahora implementamos la función “timerTicked” que se ejecuta automáticamente pasado el tiempo que le hayamos indicado al propio timer. En esta función, ponemos lo que queremos que haga el programa cuando pase ese tiempo. Como he dicho antes, yo lo he usado para mostrar un anuncio dentro de mi app, así que quedaría de esta forma:

- (void)timerTicked:(NSTimer*)timer {
    if ([self.interstitial isReady]) {
        [self.interstitial presentFromRootViewController:self];
    }
}

Por último, faltaría llamar a la función “createTimer” en el evento “viewDidLoad” de nuestro view controller para que se muestre el anuncio pasados 5 segundos.

// Iniciamos el timer que mostrará el anuncio
[self createTimer];

© 2019 DECODE BLOG

Theme by Anders NorenUp ↑