0 votos

Editar automáticamente los archivos Plist con Automator

Así que me gustaría editar una propiedad del archivo plist usando automator. Necesito cambiar el valor de una clave para que se establezca en 1 minuto antes de que se inicie la aplicación de automator. Soy bastante nuevo en todo esto y necesito ayuda...

Para un dicho SULastCheckTime necesitaría que el valor se estableciera en Jun 1, 2017, 8:52:56 PM si la aplicación del autómata se lanzó a las 8:53 del 1 de junio de 2017...

Gracias

0voto

Tienes que añadir una acción de shell script a tu automator script, y hacer la configuración real en el shell script. No creo que sea posible obtener la hora de inicio del automatizador script, así que tendrás que conformarte con una marca de tiempo relativa a la hora en que se ejecuta el shell script. Si realmente necesitas la hora de inicio, tendrás que añadir una acción para registrarla tú mismo como primer paso del automatizador script.

En el shell, el cálculo de la hora se realiza con la fecha.

date -v 1M

te da la hora de hace un minuto. Si realmente necesitas que se formatee de la manera específica que das arriba, tienes que formatearlo tú mismo, así

date -v -1M '+%b %d, %Y, %H:%M:%S %p'

En este caso, %b, %d, etc., son los marcadores de posición para los distintos componentes de la marca de tiempo; véase el página man de strftime .

A continuación, debe saber cómo modificar un archivo plist. Puedes usar plutil para eso, así

plutil -replace SULastCheckTime -string newvalue foo.plist

Poniendo todo junto, el shell script podría leer

time=`date -v -1M '+%b %d, %Y, %H:%M:%S %p'`
plutil -replace SULastCheckTime -string "$time" foo.plist

Aquí, los backticks toman la salida de date y la ponen en una variable time; plutil entonces la pone en un archivo.

Si de todos modos vas a usar scripts de shell, puedes considerar dejar de usar automator en favor de scripts de shell.

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X