Downgrade de iOS 6 a iOS 5.1.1

El otro día me instalé iOS 6 beta en mi iPhone y en mi iPad. Aunque ya incluye las novedades anunciadas, todavía es una versión muy beta que tiene ciertos problemas. Uno de los problemas que más guerra me ha dado y que me ha llevado a desinstalarlo han sido las notificaciones push y que el teclado no va todo lo fino como iba en iOS 5.1.1.

A continuación vamos a hacer un downgrade de iOS 6 a iOS 5.1.1. Tener en cuenta que una vez hecho esto, únicamente podremos cargar una copia de seguridad realizada con iOS 5.1.1, de manera que los cambios que hayamos hecho desde que instalamos la versión iOS 6, los perderemos.

Pasos para desinstalarlo

  1. Abrir iTunes y conectar el cable USB al ordenador dejar el extremo del iPhone sin conectar.
  2. Mantenemos el botón de home y sleep pulsados en el iPhone mientras conectamos el cable, hasta que iTunes nos avise de que ha encontrado un iPhone para restaurar.
  3. Pulsamos en restaurar y seguimos los pasos.
  4. Configuramos el iPhone como un teléfono nuevo y restauramos la última copia de seguridad que hicimos mientras teníamos iOS 5.1.1 instalado.

En mi caso el iPhone se restauró con iOS 5.1.1 y puse la copia de seguridad que tenía sin problemas. En caso de que se instale la versión iOS 6 al restaurar, entonces podremos seguir los mismos pasos descritos anteriormente, pero a la hora de pulsar el botón de restaurar en iTunes, mantendremos pulsada la tecla alt y seleccionaremos el archivo de iOS 5.1.1 que previamente habremos descargado.

¿Por que no debemos usar String para almacenar datos sensibles en Java?

Últimamente he tenido que lidiar con datos comprometedores en mis desarrollos con los que se necesita tener especial cuidado, y la conclusión a la que he llegado es que no se debe usar String para datos sensibles.

¿Por que no debemos usar String?

El tipo de datos String es “inmutable”, por lo tanto, no podemos cambiar el valor del objeto una vez que lo hemos creado. Esto hace que el valor de un String se almacene en memoria y su limpieza dependa del garbage collector.

Por esta razón, si usamos un String para almacenar un dato sensible, nunca podremos garantizar que su valor se haya borrado de memoria ya que no tenemos un control sobre la ejecución del garbage collector, y por tanto, nuestro dato será sensible a un volcado de memoria.

¿Que podemos hacer entonces?

Java recomienda usar otros tipos de objetos para almacenar este tipo de valores, como por ejemplo el array de caracteres (char[]).

El char[] es una cadena de caracteres y es “mutable” de manera que cuando terminamos de usarlo podemos asignar un ‘\0′ a cada uno de sus elementos y forzar el borrado del contenido. De esta manera no dependemos de que el garbage collector libere la memoria asignada al objeto.

Cómo instalar el emulador de Android en Windows

Antes de ponerse a programar en Android una de las cosas imprescindibles es instalar el emulador para poder probar las aplicaciones que desarrollemos.

1. Descargar e instalar

Para descargar el emulador iremos a la página oficial de android (http://developer.android.com/sdk/index.html) y descargaremos el SDK para Windows, elegiremos la versión “installer” (si la recomiendan hay que hacerles caso).

Una vez descargado el SDK, lo instalaremos como cualquier otro programa, siguiente, siguiente, siguiente…

2. Crear nuestro primer dispositivo virtual

Ahora que ya tenemos instalada la aplicación, la abriremos, como es la primera vez que la ejecutamos nos preguntará si queremos instalar nuevos componentes, aceptaremos y nos iremos a por un café porque le cuesta un rato.

Cuando ya esté la aplicación instalada veremos un menú como el siguiente:

Para crear un nuevo dispositivo sobre el que probar nuestras aplicaciones haremos click en New y se nos abrirá la siguiente ventana:

En esta ventana rellenaremos la información del terminal.

  • Name: Es el nombre de nuestro dispositivo
  • Target: Es la versión de Android que queremos emular
  • SD Card – Size: Es el tamaño de la tarjeta de memoria
  • Hardware – New: Podemos añadir nuevas características (acelerómetro, etc.)

Finalmente haremos click en Create AVD para crear nuestro terminal. Si todo ha ido correctamente nos aparecerá, la ventana anterior con el terminal que acabamos de crear, tal y como podemos ver en la siguiente imágen:

Ahora, para que se ejecute sólo tendremos que seleccionar el terminal y hacer click en Start y posteriormente en Launch en la ventana que se nos mostrará. Si todo ha ido bien se cargarán varias consolas de windows y finalmente podremos ver una ventana con un teclado a la derecha y a la izquierda la pantalla del terminal, con la pantalla de inicio de Android.

Problema PANIC: Could not open…

Uno de los problemas que nos podemos encontrar es el de “PANIC: Could not open …/avd/prueba.ini”

Esto sucede porque el emulador es incapaz de encontrar el archivo .ini en nuestra carpeta de usuarios. Una de las soluciones es la de copiar y pegar el contenido de la carpeta avd de nuestro directorio .android a la dirección en la que dice que no lo encuentra. Pero esto nos obligará a tener por duplicado los datos de cada uno de los dispositivos. Por lo tanto os recomiendo que hagáis lo siguiente para corregir el error y no duplicar información:

  1. Abrir una terminal en modo administrador: Inicio – Ejecutar – CMD – 2º botón – Ejecutar como administrador
  2. Escribir lo siguiente: En mi caso instalé el Android SDK en D:\
  3. mklink /D %HOMEPATH%\.android D:\.android
    

    De esta manera hemos creado un vínculo virtual, algo así como un acceso directo a la carpeta .android. Así ya no tendremos que duplicar la información de nuestros dispositivos virtuales y no nos volverá a mostrar el error.

Estoy escuchando: Russian Red – Everyday Everynight

¿Deberíamos volver al principio? Quizás sí.

He visto este video y quizás merezca la pena que le echemos un ojo y nos planteemos si deberíamos volver unos años atrás, si de verdad necesitamos la realidad que tenemos. No pretendo se hipócrita, me comería una vaca por las pezuñas, pero eso no quita que ver un video así me haga plantearme ciertas cosas. Y como cuestionar las posibilidades, nos ayuda a cambiar, o reafirmanos… Nunca está de más. Ahí va el video.

Y si no te gusta, o no vas a pensar en nada, qué cojones. Al menos has escuchado una canción que merece la pena.

Mp3: Coldplay – The Scientists