¿Cómo edito un archivo .plist?

40

¿Cuál es la mejor aplicación para abrir y editar un archivo plist?

Pierre Watelet
fuente
no fui yo, pero alguien votó para cerrar ... Creo que si cambias tu pregunta para ser más específico sobre lo que estás tratando de hacer, no obtendría ningún voto 'subjetivo'.
Robert S Ciaccio
77
¿Votar para cerrar sin comentar? ¡Así se hace, equipo!
Philip Regan
Esta es una buena pregunta. Varias veces, he querido abrir un archivo .plist, pero incluso con la descarga de una aplicación parecía (muy) difícil, así que me di por vencido.
Nicolas Barbulesco

Respuestas:

27

Un archivo PList, como dijo Mankoff, es solo un archivo XML con un formato especial, por lo que puede editarlos y crearlos en un programa como TextEdit.

Sin embargo, debido a la naturaleza específica de PLists to Development, el uso de un programa especial como Xcodeo se Property List Editorconvierte en un esfuerzo mucho más fructífero. Esto se debe a que no solo formatea automáticamente el código XML, sino que en realidad traducirá los identificadores clave y las capas en palabras legibles, y también para algunos valores proporcionará un menú desplegable para completar las respuestas correctas. Especialmente cuando se trata de listas de iPhone, cuando se pueden configurar múltiples variables de tiempo de ejecución utilizando la lista de listas, crear fácilmente nuevos campos y saber qué poner en ellos lo hace mucho más fácil.

Puede obtener bot Xcode y PList Editor desde el sitio web de desarrolladores de Apple http://developer.apple.com de forma gratuita descargando la última versión de Xcode.

SeniorShizzle
fuente
66
Sin embargo, IIRC algunos plist están comprimidos, lo que los hace imposibles de abrir en un editor de texto sin decodificarlos primero. Sin embargo, las herramientas de Apple lo hacen automáticamente, y de nuevo.
Lloeki el
Bien perfecto, ¡más razones para usar Xcode 4!
SeniorShizzle
55
Si solo… ! Pero no, algunos archivos .plist son binarios o algo así, y TextEdit no es suficiente para ellos.
Nicolas Barbulesco
Recuerde que, dependiendo del caso de uso específico, puede haber una herramienta que mejor se ajuste al trabajo, destinada a editar un tipo específico de archivo plist. Por ejemplo, puede usar Apple Configurator para editar perfiles de iOS (extensión .mobileconfig) o Clover Configurator para editar perfiles de arranque de Clover.
Manchineel
57

Si el archivo plist está en formato XML, puede editarlo en cualquier editor de texto como TextEdit. Si el archivo plist está en formato binario, primero puede convertirlo a XML ejecutando:

plutil -convert xml1 file.plist

Si desea volver al formato binario después de la edición:

plutil -convert binary1 file.plist

Si tiene Xcode 4.3 o posterior, puede usarlo para editar listas de propiedades en un editor gráfico como este:

Xcode 4.2 y versiones anteriores venían con una aplicación separada para editar listas de propiedades ( /Developer/Applications/Utilities/Property List Editor.app/).

Isaac Rabinovitch
fuente
Como se señala en esta solución, es totalmente posible usar plutil -convert json $file(o xml), luego editar el archivo con cualquier editor (como vi) y finalmente convertirlo nuevamente plutil -convert binary1 $file.
7heo.tk
plutil -p <file>"imprimirá la lista de propiedades de manera legible para los humanos" en lugar de convertirla
dentarg
1
Esta es la respuesta más completa y debería ser la aceptada. Por ejemplo, no puede editar directamente ~ / Library / Preferences / .GlobalPreferences.plist sin conversión.
Maurice Schleußinger
6

Un buen programa como TextWrangler puede editar .plistarchivos binarios sin convertirlos primero usando Terminal. Simplemente abra el archivo como lo haría con cualquier otro (es decir, arrastre y suelte el icono del programa, o el cuadro de diálogo Abrir archivo, o Abrir con en el Finder o ...)

Daniel
fuente
1
Pero los valores son ilegibles.
Nicolas Barbulesco
4

Desde que Apple se deshizo del editor de la lista de propiedades de la GUI, Xcode es la mejor opción gratuita si desea estar seguro del resultado.

Hay algunos gotcha's que usan un editor de código genérico para editar archivos plist. Como los diccionarios usan entradas como

<key>some key</key>
<string>some value</string>
<key>another key with boolean value</key>
<true />

Puede crear un archivo XML válido que no sea un archivo plist válido, por ejemplo:

<key>some key</key>
<!-- oops, forgot to enter a value - still valid XML -->

<!-- valid XML, not a plist -->
<key>another key with boolean value</key>
<true>yes</true>

Si está dispuesto a comercializar, Plistinator editará archivos binarios y XML plist.

Divulgación completa: soy el autor de Plistinator y los $ 12.99 que cuesta pagan mi ramen y el alquiler.

sez
fuente
¿Es mejor que XCode?
georgexsh
Xcode es mejor que Plistinator en Mac: la interfaz de usuario es mejor y es canónicamente Apple. Puede ser una molestia, ya que tienes que instalar todo Xcode solo para obtener la herramienta de edición. Plistinator realiza la búsqueda / exploración del directorio y también tiene un gran campo de edición para ingresar texto de forma libre en los valores. Esas características hacen que Plistinator sea excelente para trabajos como aplicaciones y juegos basados ​​en datos. Pero para la mayoría de los trabajos, el editor de Xcode es mejor.
sez
1

En una ventana de Terminal, puede usar PlistBuddy, disponible en /usr/libexec/PlistBuddy.

PlistBuddy puede leer y modificar valores dentro de un plist, ya sea interactivamente o directamente en la línea de comando.

Sin embargo, PlistBuddyno es un editor de GUI.

lhf
fuente