Crashlytics en IOS

0
7511

Crashlytics en IOS

0. Índice de
contenidos.

1. Entorno

Este tutorial está escrito usando el siguiente entorno:

  • Hardware: Portátil Mac Book Pro 17″ (2,6 Ghz Intel Core i7, 8 GB DDR3)
  • Sistema Operativo: Mac OS X Snow Leopard 10.6.4

2. Introducción

Una de las cosas más interesantes que como desarrolladores nos interesa saber es cuando falla nuestra aplicación
y sobre todo el lugar exacto donde está fallando. Esto lo podemos conseguir teniendo un sistema de envio de crashes que
son ficheros que el dispositivo genera cuando se produce una excepción no controlada.

Este podría ser un ejemplo de fichero de crash:

Entre la información que nos aporta podemos destacar el «identifier», la versión, la fecha y hora en la que se produjo,
la versión del dispositivo y la excepción. También vemos una pila con una serie de posiciones de memoria, que así no nos
dicen nada.

Para traducir estas posiciones de memoria tenemos que «simbolicar» este fichero con el fichero dSYM que se corresponda
exactamente con la versión de la aplicación que genero este fichero crash.

En IOS existe un script llamado «symbolicateCrash» al que le pasamos el fichero de crash y el archivo de símbolos y
nos añade la clase de nuestro código que se corresponde con la posición de memoria.

Este proceso es realmente tedioso y confuso dado que en muchas ocasiones no podremos saber exactamente en que línea
dio el error para poder depurarlo.

Entonces tenemos dos problemas que resolver manualmente. El primero es crear un envio del fichero de crash cuando este
se produce y el segundo descrifar la información del crash.

Aquí es donde Crashlytics nos puede echar una buena mano, ya que se trata de un servicio que nos proporciona
una forma muy elegante y transparente de recibir los crashes de los usuarios y una forma visual de descrifrarlos en
forma de dashboard en su aplicación web donde

Seguro que esto se puede entender mejor que el anterior fichero:

Además proporciona estadísticas del número de crashes dividos por distintas características como versión,
sistema opertativo, etc…

También tiene soporte para aplicaciones Android aunque en este tutorial solo nos vamos a centrar en la parte de IOS.

3. Vamos al lío

Para comenzar necesitamos solicitar una invitación gratuita en su web.

Ahora toca esperar a que nos manden la invitación. No suelen tardar más de un día. Cuando la recibimos nos facilitan
un enlace para continuar con el proceso. Lo primero que nos solicitan es un nombre y una password (cuidado porque no hay
confirmación de password)

Y nos solicitan que introduzcamos el nombre de nuestra compañia.

Pulsando en «Done» pasamos a registrar la aplicación mediante un asistente donde lo primero que tenemos que
seleccionar es el IDE del proyecto.

En nuestro caso vamos a pinchar en la opción de «Xcode», con lo que se mostrará la siguiente pantalla donde podemos
descargar la aplicación para nuestro sistema operativo.

En este momento descargamos el programa y el asistente se queda a la espera de que vayamos completando
los siguientes pasos.

Ahora abrimos el fichero comprimido y ejecutamos la aplicación; lo que abre otro asistente en nuestro equipo con
nuevos pasos que tenemos que completar. Donde el primer paso es seleccionar el proyecto deseado.

Al pulsar en «Next» nos abre el proyecto y pasamos al siguiente paso, donde tenemos que añadir un
«Run Script Build Phase» y copiar el texto que nos proporcionan.

Para ello dentro de Xcode pinchamos en el raíz de nuestro proyecto y vamos a la sección «Build Phases». Desde aquí
vamos al menú Editor → Add Build Phase → Add Run Script Build Phases.

Esto hace que en «Build Phases» se cree una nueva sección «Run Script» donde tenemos que pegar
el código proporcionado.

Ahora hacemos una build del proyecto pulsando CMD + B y el asistente muestra el siguiente paso:

Ahora tenemos que arrastrar el cofre a la carpeta «Frameworks» de nuestro proyecto. Es muy importante que lo
hagamos a esta carpeta y no a ninguna otra. Cuando lo hayamos hecho pulsamos en «Next» para continuar
img14con el siguiente paso.

En este paso tenemos que abrir el fichero AppDelegate.m de nuestro proyecto y pegar el código que proporcionan
en el método didFinishLaunchingWithOptions no olvidando añadir el import correspondiente.

Hecho esto pulsamos arrancamos el proyecto pulsando en CMD + R si todo es correcto veremos
nuestra aplicación registrada de esta forma:

Y en el asistente de la web veremos algo como lo siguiente:

Desde este momento cualquier crash que se produzca al utilizar la aplicación quedará registrado en el dashboard
informando de la línea exacta donde se ha producido el error.

4. Conclusiones

Como habéis visto esta herramienta nos simplifica mucho la tarea de seguir los crashes de nuestra aplicación y nos
permite tener centralizada toda la información de una manera muy intuitiva.

Cualquier duda o sugerencia en la zona de comentarios.

Saludos.

Dejar respuesta

Please enter your comment!
Please enter your name here