Existen una serie de servicios vía Internet muy útiles para localizar gran cantidad de objetos en caso de que alguien te los robe. Como el iPhone, desde su lanzamiento, se ha convertido en uno de los objetos de deseo de ladrones y maleantes, mucha gente se preguntaba si habría algo parecido, y la respuesta era que no. Y como suele ocurrir a menudo, Erica Sadun de TUAW ha ideado findme para solucionar esto.
Básicamente es una programa que se ejecuta en línea de comandos que nos devuelve la posición de la antena de telefonía más cercana a nuestro iPhone, dándonos el identificador de dicha antena así como su latitud y longitud.
La cuestión es cómo recibir este informe de localización de forma que sólo nosotros podamos verlo, y todo ello sin saturar nuestro móvil de SMS. Y la solución es muy creativa, ya que utiliza Twitter. Quizás por eso nos gusta tanto, porque en AppleWeblog tanto Miguel Ángel como un servidor, somos muy aficionados a esta herramienta.
Para ello, creas una nueva cuenta de Twitter para recibir las actualizaciones de localización de tu iPhone. Eso sí, hay que marcar la cuenta como privada (marcar "protect my updates"), de forma que sólo tú y quien tú quieres podrá ver esos mensajes.
Ahora necesitas que tu iPhone twittee él solito, de forma regular y sin ayuda externa. Para ello hay que seguir una serie de pasos, que veremos tras el salto.
Instalar findme en la carpeta local de binarios. Puede ser
/var/root/bin
, por ejemplo. Eso sí, hay que cambiarle los permisos para que se pueda ejecutar (escribid en línea de comandos chmod 755 y luego el nombre del fichero).Asegúrate de tener instalado curl, que es una parte estándar de la distribución BSD, y es gracias a esto como contactas con Twitter.
Creamos un script para twittear. Simplemente hay que copiar el siguiente texto en un nuevo fichero de texto, y añadirlo a la carpeta de binarios. Hay que tener cuidado de utilizar el path apropiado a findme, y el nombre de usuario y password que utilicéis en Twitter. Luego, con
chmod 755 tweet
(si así habéis llamado al fichero) lo hacéis ejecutable.
#! /bin/sh
curl --basic --user username:password
--data status="`/var/root/bin/findme`"
http://twitter.com/statuses/update.xml
- Creamos un daemon de lanzamiento. Dentro de
/System/Library/LaunchDaemons
podemos encontrar com.apple.daily.plist, que es sencillo y se ejecuta una vez al día. Así que lo editamos, teniendo en cuenta que hemos de cambiar Label a "com.sadun.tweet", que hemos de borrar las dos últimas líneas (en las que aparece "nice"), que los argumentos del programa hemos de cambiarlos a/var/root/bin/tweet
, y que el intervalo de comienzo tenemos que ponerlo según nuestras necesidades: tal como viene, 86400, es una vez al día. Cada 10 minutos (valor de 600) puede ser interesante. Quedará de la siguiente forma:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN"
"http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Label</key>
<string>com.sadun.tweet</string>
<key>ProgramArguments</key>
<array>
<string>/var/root/bin/tweet</string>
</array>
<key>StartInterval</key>
<integer>600</integer>
</dict>
</plist>
- Reinicia.
Por cierto, que si encuentras muchos mensajes en tu twitter de "Location Not Found" (localización no encontrada), lo mejor es editar el script y duplicar la llamada a curl, ya que normalmente ese mensaje se va con la segunda llamada que se realiza a curl.
Enlace: TUAW Responds: iPhone LoJack