Como siempre, nos vamos a centrar en tratar de aprender a hacer cosas que por defecto hacen otros programas, pero que nos van a servir para diseñar nuestros propios servicios en el caso de que o no podamos usar estos servicios Cloud (por ejemplo, porque necesitamos sincronizar volúmenes importantes de archivos y no queremos pagar una cuota por el espacio consumido a estos servicios).
Preparando el iPad
Primero tenemos que preparar nuestro iPad para recibir documentos y esto ha de realizarse a través de una aplicación que nos permita utilizar el dispositivo como un disco duro inalámbrico. Hay diferentes aplicaciones que permiten este tipo de característica: nosotros hemos utilizado Documents by Readdle , un excelente gestor de archivos que nos permite acceder al iPad vía protocolo WebDAV con gestión de usuario y contraseña.
Así que nuestro primer paso ha sido configurar Documents para que sea accesible a través de nuestra red interna activando la posibilidad de que sea un Disco Wi Fi y activando un nombre de usuario y contraseña. El proceso es bastante sencillo y simplemente acudiremos a las preferencias de la aplicación, seleccionaremos las opciones de disco duro Wi-Fi y las activaremos, junto con un nombre de usuario y contraseña.
Una vez configurada la aplicación, vamos a dar un paso adicional y es conocer el nombre Bonjour de nuestro iPad. Esto nos va a facilitar la creación de un script que identifique a nuestro iPad a través de la red ya que el protocolo WebDAB está basado en Http:// para hacer la llamada la disco con una IP y no podemos, evidentemente, permitir variaciones en la IP debido a una asignación dinámica de las mismas. Para conocer el nombre Bonjour de nuestro iPad podemos utilizar la primera parte de este truco:
O simplemente podemos abrir iTunes con nuestro iPad conectado, observar el nombre en la barra lateral y construir el nombre Bonjour usando ese nombre sustituyendo los espacios en blanco por guiones y añadiendo “.local” al final del nombre. Así, el “iPad de Carlos Burges Ruiz” se convierte en el “iPad-de-Carlos-Burges-Ruiz.local”.
Construyendo el AppleScript
Una vez que hayamos dado estos pasos, vamos a construir un Applescript que realice la tarea de sincronización con el iPad aprovechando las diferentes herramientas disponibles en OS X 10.8 Mountain Lion.
set question to display dialog “Por favot, active el iPad y abra la aplicación Documents.” buttons {“Parar”} default button 1 giving up after 5
set answer to button returned of question
–ejecutamos un error -128 (cancelar por parte del usuario) si pulsamos el botón “Parar”
if answer is equal to “Parar” then
error number -128
end if
–Si no hemos pulsado el botón parar, automáticamente se empezarán a ejecutar los siguientes comandos
tell application “Finder”
set mounted_Disks to list disks
— revisamos si el disco no está montado, así nos evitamos tráfico innecesario
if mounted_Disks does not contain “iPad-de-Carlos-Burges-ruiz.local” then
— montamos el disco del iPad. Debes sustituir el correspondiente nombre de usuario y contraseña por los tuyos
mount volume “http://iPad-de-Carlos-Burges-ruiz.local” as user name “XXXX” with password “XXXXX”
end if
— ejecutamos la sincronización
do shell script “rsync -av –force –delete –size-only /volumes/Macintosh\ HD/Users/Dalek/Desktop/iPad /Volumes/iPad-de-Carlos-Burges-ruiz.local”
end tell
— desm,ontamos el disco del iPad para poder llevarnos la unidad tranquilamente
do shell script “diskutil unmount /Volumes/iPad-de-Carlos-Burges-ruiz.local”
La clave de este Applescript es la utilización de rsync
. El comando que hemos utilizado funciona de la siguiente manera:
rsync -av --force --delete --size-only ruta/a/la/carpeta/origen ruta/a/la/carpeta/destino
Tienes que tener en cuenta que al escribir la ruta (que ha de empezar indefectiblemente desde /Volumes/ y en una sola línea) los espacios en blanco de los nombres correspondientes deben estar identificados como “\ ” (doble barra invertida y espacio en blanco) para que sean reconocidos por Applescript al ejecutar un comando de shell. Así, Macintosh HD
sería Macintosh\ HD
Hola Carlos. Estupendo tutorial. Ayer me hiciste el tio más feliz del mundo cuando descubrí que podía sincronizar los archivos del Mac y del iPhone con la app documents (y otras similares), mediante el sistema de montarlo como un volumen de red. Creía que solo podía sincronizar mediante iTunes.
Vengo usando la app Goodreader en el iPhone 4 desde hace tiempo, y también sincroniza perfectamente.
Con respecto al Script, no me funciona. Monta la unidad del iPhone correctamente, pero no sincroniza. Da error de Script, seguramente debido a la ruta de la carpeta de origen y la de destino.
Tengo creada una carpeta en el escritorio llamada docus, y al ejecutar el Script me sale error en la línea:
do shell script “rsync -av –force –delete –size-only /Volumes/Macintosh\ HD/Users/misusario/Desktop/docus /Volumes/iPhone-minombre.local”
Parece que la ruta está bien, pero me da error. ¿Será cuestión de permisos?
Un saludo.
Hola: No creo que sea cuestión de permisos. La ruta parece estar bien así que pueden ser dos cosas: que no hayas puesto el nombre de usuario corto exactamente igual (mayúsculas y minúsculas) o que el nombre Bonjour del iPhone no esté bien.
Antes de publicarlo he tenido y tengo este script en funcionamiento y sin problemas. Recuerda que tienes que tener Documents arrancado para poder sincronizar, que si no, ni modo.
Gracias Carlos.
Acabo de resolver el problema, y es cuestión de que puse mal la ruta del iPhone.
Al usar la app Goodreader, resulta que hay que poner la carpeta My Documents en destino, o sea:
…/Volumes/iPhone-minombre.local/My\ Documents
De este modo, la carpeta docu de mi escritorio se copia en la carpeta My Documents en la aplicación GoodReader la cual es la carpeta raíz.
Por cierto, al sincronizar, se copia también un archivo de 0 bytes llamado .com.apple.timemachine.supported
Gracias de nuevo, y un saludo.
Pues eso es curioso, porque indica que se podría hacer una copia de seguridad de Time Machine en el iPhone: ¿tienes activada esa opción para dispositivos no soportados?. De todas formas, puedes borrarlo y adicionalmente, añadir esa unidad (del iPhone) a la lista de exclusión de Time Machine.
No entiendo a qué te refieres con lo de tener activada la opción de copia de seguridad para dispositivos no soportados. ¿dónde se activa o desactiva?
En realidad no he hecho nada más que ejecutar el Script.
De todas formas no me molesta el archivo, si bien es buena idea excluir la unidad de Time Machine.
Un saludo.
Me refería a usar en el Terminal:
defaults write com.apple.systempreferences TMShowUnsupportedNetworkVolumes 1
Para activar la compatibilidad de Time Machine con volúmenes no soportados. Pero si no sabes que es, es que no lo has hecho. 😉
sorpresa! sorpresa!
obtener esta mejor y más caliente de 4,7 pulgadas Android 4.1 para i9300 precio más barato. Euro € 99,99 + gastos de envío gratis + mejor servicio. no te pierdas el teléfono más vendido de 2013:[url]http://7vd.cn/7uH[/url]
una buena noticia! una buena noticia!
teléfono inteligente más caliente y perfecto, i9300. el mejor teléfono del mundo de 2013. grandes ventas ahora! magia precio: € Euro 99,99. No se pierda:[url]http://11.wf/8a[/url]
buenas, soy nuevo por aqui y necesitaria, haber si alguien me echa un cable, hay alguna manera desde el iphone a traves de la app de documents aceder al time capsule?
me podirais ayudar ?
#9 Deja un mensaje en el Foro, es la forma más fácil de que pueda ayudarte alguien. http://www.faq-mac.com/foros/mac/f2