Aunque este post es antiguo, me gustaría añadir algunas cosas. Soy capaz de utilizar AppleScripts para enviar cosas a mi dispositivo, pero su dispositivo necesita ser jailbroken (AKA rooted)
Así es como funciona: Ejecuta Cydia e instala OpenSSH. En tu Mac, ejecuta uno de los siguientes comandos para generar una clave ssh rsa o dsa. (He utilizado rsa, porque es más reciente)
ssh-keygen -t rsa
ssh-keygen -t dsa
Se creará un archivo en su carpeta /Usuario/[su nombre de usuario]/.ssh (también conocido como ~/.ssh o $HOME/.ssh ). Ponga el id_rsa.pub o el id_dsa.pub en su ipad en algún lugar, tal vez fuera del Root con
scp ~/.ssh/id_rsa.pub root@nameofipad:/
A continuación, inicie la sesión en su ipad (sensible a las mayúsculas) Ignore todas las quejas y simplemente diga que sí, introduzca Alpine para la contraseña (si no la ha cambiado (cambie con el comando passwd desde el prompt Root del ipad):
ssh root@nameofipad
Ahora vamos a tomar la información almacenada en esta clave pública ssh y escribirla en un archivo en su iPad. Primero tenemos que hacer la carpeta en el iPad y luego escribir la información.
mkdir ~/.ssh && cat /rsa.pub >> ~/.ssh/authorized_keys
Ahora el archivo authorized_keys contendrá la clave de su Mac. Un último paso importante es establecer los permisos correctos para el archivo authorized_keys:
chmod 666 ~/.ssh/authorized_keys
AppleScript
Ahora puedes enviar archivos a tu dispositivo a través de AppleScript. Por ejemplo, suelo editar archivos PDF con la aplicación de iOS iAnnotate PDF. Usé iFile en el iPad para identificar la carpeta de la aplicación y ejecuté el siguiente AppleScript para enviar los archivos a su carpeta de documentos:
tell application "System Events"
set ProcessList to name of every process
if "Skim" is in ProcessList then
tell application "Skim"
if document 1 exists then
set the_file to POSIX path of (get file of document 1 as text)
set my_script to "scp -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no " & the_file & " root@JokosiPad.local:/User/Applications/01F8F1E6-BA09-412B-8069-355E7717F409/Documents"
do shell script my_script
end if
end tell
end if
end tell
Este script tomará cualquier archivo que esté leyendo en Skim (lector de PDF) y lo enviará al iPad. En el iPad (y en el iPhone) puedo iniciar iAnnotate e ir a la carpeta iTunes Sharing y ver el archivo. Es realmente genial y evita la estúpida mierda de Apple de sólo iTunes.
Permítanme explicar lo obvio, y luego lo no tan obvio:
Obviamente
- establecer el script a la variable mi_script
- ejecutar myscript
No es obvio
Le decimos a scp que escriba la información del archivo host en /dev/null que básicamente es un dispositivo dedicado que es como un agujero negro. Todo lo que escribes en él desaparece. Sólo tenemos que hacer feliz a scp y dejar que escriba en algo. La otra opción, -o StrictHostKeyChecking=no hace que la conexión no se confirme con "¿Está seguro de que quiere conectarse? Esto permite que AppleScript tenga acceso sin obstáculos a su iPad.
Ten en cuenta que el nombre de host de tu iPad (el mío es JokosiPad) se puede encontrar fácilmente yendo a la aplicación de Ajustes y haciendo clic en general y acerca de. El registro "Nombre" contiene el nombre de host a utilizar como JokosiPad.local en lugar de memorizar la dirección IP (que puede cambiar).
¡Espero que esto ayude a alguien!