Problemas para abrir archivos plist en el editor de texto


20

Desde Finder, puedo obtener una vista previa de un archivo plist sin ninguna dificultad. Por ejemplo, al usar ~/Library/Preferences/com.apple.Safari.RSS.plistVista rápida con Me da una buena vista previa de su contenido:

Vistazo rápido

Sin embargo, si luego trato de abrir el archivo, ya sea con TextEdit o cualquier otro editor (hasta ahora he probado SublimeText, TextMate, Vim, Nano y Coda 2), la codificación parece estar apagada:

bplist00Ò_"FixedRefreshesInBackgroundSettings_(com.apple.PreferenceSync.ExcludeSyncKeys ¡ 2]^����������������������������`

Esto es lo que parece si lo abro con TextEdit:

TextEdit

Intenté cambiar la codificación en Sublime Text y otras aplicaciones, pero eso no ayuda.

¿Alguna idea?

Estoy ejecutando 10.8.4.

Respuestas:


23

Los archivos plist no son necesariamente texto plano, por lo que deben ejecutarse a través de un convertidor. Finder y Xcode (que tiene un editor plist) hacen esto sin decirle al usuario

El formato binario está documentado en este código C para que cualquier aplicación pueda convertirlo y alguien haya escrito una descripción del formato en inglés y más documentación de Apple aquí, pero tenga en cuenta que hace referencia a rutas antiguas en/Developer/Documentation

El programa de línea de comandos plutil puede convertir ay desde XML

por ejemplo, para ver una lista de propiedades binarias en formato XML en stdout:

plutil -convert xml1 -o - <file name>

También para convertir un binario a un plist XML en su lugar y luego dejarlo para que el programa del usuario pueda leer cualquiera de los dos.

plutil -convert xml1 <file name>

Gracias. Veo. Entonces, si necesito editarlo, necesito convertirlo a XML, abrirlo con un editor y luego volverlo a convertir. Asumiré que esto es así. ¡No es necesario responder a menos que me equivoque!
apc

3
También puede usar plutil -convert xml1 ~/Library/Preferences/com.apple.Safari.RSS.plistpara convertir el plist a XML en su lugar. Y después de editar el plist, no tiene que volver a convertirlo en binario.
Lri

1
> Finder y Xcode (que tiene un editor plist) hacen esto sin decirle al usuario. Para ser precisos, no es Finder el que está haciendo esto, es QuickLook en forma de un complemento QuickLook.
saagarjha

También puede usar el defaults read <file>comando más nuevo para obtener una especie de vista JSON del mismo.
dlamblin



0

Hice un archivo CMD (Batch) para ayudar a las personas a convertir archivos plist en Windows:
Instrucciones:
1. Copiar todo el código
2. Crear un nuevo documento de texto
3. Pegar el código
4. Guardar el archivo
5. Cambiar el nombre del archivo con ".bat" en lugar de ".txt"
6. Ábrelo

    @echo off
    title PLIST Converter ~SyndiShanX
    mode 1000
    color 0b

    ::~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~Separation-Bar~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

    :filedirectory
    cls
    echo Either: Type the Directory of the File: (Ex. C:\Users\(UserName)\Desktop\File.plist) or Drag and Drop File onto This Window
    echo Made by: [SyndiShanX]
    echo File Directory:
    set /p directory=
    cls

    ::~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~Separation-Bar~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

    :convertfile
    start "" "C:\Program Files\Common Files\Apple\Apple Application Support\plutil.exe" -convert xml1 %directory%
    goto complete

    ::~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~Separation-Bar~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

    :complete
    title File Conversion Complete!
    color 0a
    echo File Conversion Complete!
    pause
    cls
    goto exit

    ::~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~Separation-Bar~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

    :exit
    color 0c
    title Exiting...
    echo Exiting...
    pause
    cls
    exit

O puede usar la versión que no se cierra después de la conversión para permitir múltiples conversiones sin volver a abrir el archivo:

    @echo off
    title PLIST Converter ~SyndiShanX
    mode 1000
    color 0b

    ::~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~Separation-Bar~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

    :filedirectory
    cls
    echo Either: Type the Directory of the File: (Ex. C:\Users\(UserName)\Desktop\File.plist) or Drag and Drop File onto This Window
    echo Made by: [SyndiShanX]
    echo File Directory:
    set /p directory=
    cls

    ::~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~Separation-Bar~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

    :convertfile
    start "" "C:\Program Files\Common Files\Apple\Apple Application Support\plutil.exe" -convert xml1 %directory%
    goto filedirectory

1
Hola, y bienvenido a Ask Different! Esta respuesta puede ser más útil en otros lugares: el OP no pregunta sobre el uso de Windows.
Scot

-1

Puede convertir el archivo de lista de propiedades de formato binario a XML utilizando la siguiente línea de comando:

plutil -convert xml1 -o file.plist file.plist

Luego edítelo como de costumbre. En segundo lugar, no tiene que volver a convertirlo, ya que generalmente las aplicaciones reconocen ambos formatos.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.