Averiguar atributos y/o procesos de la lista de propiedades (plist)

Aug 17 2020

La propia página web de Apple indica cómo editar listas de propiedades en Terminal en Mac . Sin embargo, ¿hay alguna forma de adivinar/descubrir un atributo o un proceso que me gustaría modificar pero cuya existencia desconozco?

En el caso de la posición de Muelle, habría tenido que:

  1. plistAverigüe si existe un archivo de este tipo (en este caso com.apple.Dock.plist),
  2. Entonces habría tenido que encontrar el correcto key(en este caso orientation),
  3. Finalmente habría tenido que averiguar lo posible values(en este caso leftpero righty downtambién hubiera sido posible).

Entonces todo el comando habría sido (o es, en este caso): defaults write com.apple.dock orientation left(entonces en tipo de terminal killall Dockpara que se produzca el cambio).

Mis preguntas:

  • Si no hubiera sabido que la posición del muelle en la pantalla podría modificarse con el comando Terminal defaults write com.apple.dock orientation left, ¿habría podido resolverlo de alguna manera?
  • ¿Hay alguna manera de encontrar un atributo o proceso plist buscando palabras clave?
  • En caso afirmativo, ¿cómo/con qué herramienta?
  • ¿Existe (o podríamos averiguar) algún tipo de procedimiento paso a paso para hacer eso (preferiblemente en la Terminal)?

Respuestas

1 OrtomalaLokni Sep 18 2020 at 02:49

Cada aplicación puede elegir qué almacenar en sus archivos plist. Los nombres de las claves y los diferentes valores posibles los determina la aplicación, que puede ser desarrollada por Apple o por cualquier tercero, y no existe un estándar.

Para encontrar diferentes combinaciones de claves/valores utilizables en un archivo plist, puede hacer lo siguiente:

  1. Lea la documentación. Pero a menudo Apple no proporciona la documentación completa.

  2. Encuentre el archivo plist existente y modifíquelo, deduciendo y probando diferentes claves/valores.

  3. Ejecute el comando stringsen el ejecutable para volcar todo el texto. (Gracias a mmmmmm por esto).

  4. Mire el código fuente si la aplicación es de código abierto, haga ingeniería inversa de lo contrario.