Cómo iniciar aplicaciones en tu iPhone con Alfred

¿Sabía que puede iniciar una aplicación para iPhone o reactivar su iDevice usando Alfred para Mac? En realidad es posible. Puede invocar una tecla de acceso rápido, escribir Respring en su Mac y su SpringBoard de iPhone se reiniciará automáticamente.

Este tutorial no es para la finta de corazón. Ayuda si tiene una comprensión general de OpenSSH, la línea de comandos y las secuencias de comandos con AppleScript o Python. Deberá tener una Mac con derechos de administrador y un iDevice con jailbreak. Sigue leyendo para comenzar …

Por razones obvias, deberá descargar e instalar Alfred en su computadora. Puede instalarlo desde Mac App Store o visitar el sitio web Running With Crayons.

Primero, necesitará instalar OpenSSH desde Cydia. También deberá instalar la última versión de APT 0.7 Strict. OpenSSH permitirá que su Mac emita comandos remotos a su iPhone. APT Strict aumentará la cantidad de comandos que tu Mac puede usar.

A continuación, descargue encantador desde su página de Google Code. Enchanter es una biblioteca de Java para secuencias de comandos de sesiones SSH. Este tutorial implica hacer un script para cada comando que desea ejecutar en su iPhone. Cada archivo de script incluirá las credenciales necesarias para obtener acceso de root a su iPhone. Prefiero usar Python para escribir mis scripts, pero enchanter también ofrece versiones de Beanshell y Ruby. Por el bien de este artículo, usaré Python en mis ejemplos. Asegúrate de descargar enchanter-core-0.6.jar y enchanter-python-0.6.jar.

Copie estos dos archivos a / System / Library / Java / Extensions / y escriba su contraseña de Mac para autenticarse. Crea una carpeta para almacenar tus scripts de Python. Creé una carpeta en mi directorio de usuarios llamada “alfred-iphone” para poder poner fácilmente “~ / alfred-iphone / script.py” en mi extensión Alfred. Si desea poder usar Alfred para múltiples dispositivos iOS, necesitará un script diferente para cada uno, por lo que esta convención de nomenclatura de carpetas es muy práctica.

Ahora deberá crear su primer script. Le mostraré cómo hacer un script Respring, para reiniciar fácilmente el SpringBoard de su iPhone. Cree un nuevo archivo con una aplicación como BBEdit o TextWrangler y asígnele el nombre respring.py. Guárdelo en el directorio que creó, es decir, “~ / alfred-iphone” o como haya decidido llamarlo.

El contenido del archivo debería verse así:

conn.connect (“highPhone.local”, 22, “root”, “alpine”); conn.waitFor (“raíz #”); conn.sendLine (“killall SpringBoard”); conn.waitFor (“raíz #”); conn.sendLine (“salida”); conn.disconnect ();

Deberá personalizar la primera línea con los detalles de su iPhone. El primer valor debe ser el dominio local de su iPhone o su dirección IP. Si conoce el nombre de su iPhone y no tiene espacios, puede ingresar iPhoneName.local, que en mi caso es highPhone.local. El segundo valor es el número de puerto SSH, que siempre es 22. El tercer valor es el nombre de usuario, en este caso root, ya que necesitamos que Mac inicie sesión como root para realizar estas acciones. El cuarto valor es su contraseña de root. El valor predeterminado es alpino, pero si ha cambiado el suyo, actualice el valor con su contraseña. Tenga en cuenta que su contraseña se almacena en texto sin formato en este archivo, por lo que si le preocupa la seguridad, es posible que desee habilitar el cifrado en su Mac con FileVault.

El resto del guión se trata de la experiencia de Terminal. Si desea ver cómo funciona todo, abra Terminal, escriba “ssh [email protected]”Y pulsa enter. Ingrese su contraseña de root cuando se le solicite, escriba “sí” si se le solicita, y luego espere. Si recibe una advertencia de suplantación de DNS, simplemente elimine el archivo conocido_hosts en ~ / .ssh e intente nuevamente. Cuando se le solicite que ingrese un comando, verá “iPhoneName: ~ root #” antes del espacio para escribir. Así es como el encantador sabe cuándo está bien enviar un comando. Después de que se envía un comando respring, es decir, killall SpringBoard (distingue entre mayúsculas y minúsculas), el encantador espera a que termine el iPhone y sabe que está listo cuando hay un nuevo número de raíz. Para el archivo de script, solo necesita ingresar la parte final de esta cadena. “IPhoneName: ~ root #” y “root #” funcionarán. Finalmente, enviamos el comando de salida para cerrar la sesión SSH y el script se desconecta.

Ahora para introducir esto en Alfred, debe crear una nueva extensión de Alfred. Abra las preferencias de Alfred y haga clic en la opción Shell Script para crear una nueva extensión. Llamé al mío iPhone Respring. Para cambiar el icono, simplemente arrastre y suelte un archivo de imagen en el icono existente. Cada Mac tiene una colección de iconos de iPhone de alta calidad ubicados en “/System/Library/CoreServices/CoreTypes.bundle/Contents/Resources/”, así que utilicé uno de esos. Haz clic en el botón Crear. Puede personalizar el Título y la Descripción a su gusto, pero asegúrese de que la casilla de verificación Silencio esté marcada y la Acción no esté marcada. El comando debe ser “java -jar /System/Library/Java/Extensions/enchanter-python-0.6.jar ~ / alfred-iphone / respring.py”, todo en una línea. Si desea asegurarse de que esto funciona, puede enviar ese comando a una nueva ventana de Terminal (no inicie sesión a través de SSH primero). Guarde su extensión y pruébela.

Para agregar compatibilidad con Growl, debe crear una extensión AppleScript en su lugar. Incluya este código en la parte superior de la extensión: intente decirle a la aplicación “Growl” establezca allNotificationsList en ¬ {“Alfred iPhone”} establezca habilitadoNotificationsList en ¬ {“Alfred iPhone”} regístrese como aplicación ¬ “Alfred iPhone” todas las notificaciones allNotificationsList ¬ notificaciones predeterminadas habilitadasNotificationsList ¬ icono de la aplicación “Terminal” end tell end try Para iniciar el script Python, simplemente agregue: do script script “java -jar /System/Library/Java/Extensions/enchanter-python-0.6.jar ~ / alfred- iphone / respring.py “decir la aplicación” Growl “notificar con el nombre ¬” Alfred iPhone “título ¬” ¡Éxito! ” descripción ¬ “Has reiniciado con éxito tu SpringBoard de iPhone”. nombre de la aplicación “Alfred iPhone” imagen de la ubicación ¬ “archivo: ////System/Library/CoreServices/CoreTypes.bundle/Contents/Resources/com.apple.iphone-4-black.icns” final le recomiendo que escriba , compila y ejecuta este script en la aplicación AppleScript Editor de Apple, incluida en todas las Mac.

Puede crear scripts de Python para cada acción que se pueda realizar desde la línea de comandos. Para actualizar sus fuentes de Cydia, “apt-get update” o para actualizar todos los paquetes disponibles en segundo plano, “apt-get upgrade”. Esto se puede ampliar agregando paquetes de Cydia para la línea de comando. Usando las ericautilidades de Erica Sadun, puede abrir una URL en Safari usando algo como “openURL https://www.idownloadblog.com” o iniciar una aplicación por su identificador de paquete usando algo como “launch com.Apple.Calculator”. Así es como escribirías launchcalculator.py para usar con el encantador.

conn.connect (“highPhone.local”, 22, “root”, “alpine”); conn.waitFor (“raíz #”); conn.sendLine (“lanzamiento com.Apple.Calculator”); conn.waitFor (“raíz #”); conn.sendLine (“salida”); conn.disconnect (); Para los gurús avanzados de AppleScript, puede agregar opciones de consulta de Alfred a su extensión. Por ejemplo, llamé a una extensión “Respring” y luego tengo opciones de consulta para “iPhone” y “iPad”. Tengo una extensión llamada “iPhone” con opciones de consulta que incluyen “respring”, “reiniciar” y “actualizar”. Aquí hay un ejemplo de una extensión Alfred AppleScript que usa consultas:

en alfred_script (q)

tratar

diga la aplicación “Growl”

establezca allNotificationsList en ¬

{“Alfred iPhone”}

establezca enabledNotificationsList en ¬

{“Alfred iPhone”}

registrarse como solicitud ¬

“Alfred iPhone” todas las notificaciones allNotificationsList ¬

notificaciones predeterminadas habilitadasNotificationsList ¬

icono de la aplicación “Terminal”

final decir

intento final

si q es “respring” entonces

hacer el script de shell “java -jar /System/Library/Java/Extensions/enchanter-python-0.6.jar ~ / alfred-iphone / respring.py”

diga la aplicación “Growl”

notificar con nombre ¬

Título “Alfred iPhone” ¬

“¡Éxito!” descripción ¬

“Has reiniciado con éxito tu SpringBoard de iPhone”. nombre de la aplicación “Alfred iPhone” imagen de la ubicación ¬

“Archivo: ////System/Library/CoreServices/CoreTypes.bundle/Contents/Resources/com.apple.iphone-4-black.icns”

final decir

de lo contrario, si q es “actualizar”, entonces

diga la aplicación “Growl”

notificar con nombre ¬

Título “Alfred iPhone” ¬

Descripción “Actualizando” ¬

“Buscando nuevos paquetes de Cydia”. nombre de la aplicación “Alfred iPhone”

final decir

hacer script de shell “java -jar /System/Library/Java/Extensions/enchanter-python-0.6.jar ~ / alfred-iphone / update.py”

diga la aplicación “Growl”

notificar con nombre ¬

Título “Alfred iPhone” ¬

“¡Éxito!” descripción ¬

“Has actualizado tus actualizaciones de Cydia”. nombre de la aplicación “Alfred iPhone” imagen de la ubicación ¬

“Archivo: ////System/Library/CoreServices/CoreTypes.bundle/Contents/Resources/com.apple.iphone-4-black.icns”

final decir

de lo contrario, si q es “actualizar”, entonces

hacer el script de shell “java -jar /System/Library/Java/Extensions/enchanter-python-0.6.jar ~ / alfred-iphone / upgrade.py”

diga la aplicación “Growl”

notificar con nombre ¬

Título “Alfred iPhone” ¬

“¡Éxito!” descripción ¬

“Has actualizado tus paquetes de Cydia”. nombre de la aplicación “Alfred iPhone” imagen de la ubicación ¬

“Archivo: ////System/Library/CoreServices/CoreTypes.bundle/Contents/Resources/com.apple.iphone-4-black.icns”

final decir

terminara si

end alfred_script

Estoy seguro de que muchos de ustedes crearán algunas ideas increíbles. Asegúrese de compartir sus experiencias en los comentarios. Si tiene problemas, publique sus errores o preguntas. ¡Feliz retoques!

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *