29 votos

Problemas para abrir archivos plist en el editor de texto

Desde Finder, puedo previsualizar un archivo plist sin ninguna dificultad. Por ejemplo, utilizando Quick Look con ~/Library/Preferences/com.apple.Safari.RSS.plist Me dan una buena vista previa de su contenido:

Quick Look

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

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

Esto es lo que parece si lo abro con TextEdit:

TextEdit

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

¿Alguna idea?

Estoy ejecutando 10.8.4.

36voto

yoliho Puntos 340

Los archivos plist no son necesariamente texto plano, por lo que es necesario pasarlos por un conversor. Finder y Xcode (que tiene un editor de 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 ha 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 a y 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 el lugar y luego dejarlo para que el programa del usuario pueda leer cualquiera de los dos.

plutil -convert xml1 <file name>

0 votos

Gracias. Ya veo. Así que si necesito editarlo, tengo que convertirlo a XML, abrirlo con un editor y luego volver a convertirlo. Asumiré que esto es así. No hace falta que responda a menos que me equivoque.

4 votos

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

2 votos

> Finder y Xcode (que tiene un editor de plist) hacen esto sin decírselo al usuario Para ser precisos, no es Finder el que hace esto, es QuickLook en forma de plugin de QuickLook.

6voto

Igor Zelaya Puntos 2266

También puede editar los archivos plist con PlistBuddy que es un programa de línea de comandos.

PlistBuddy se encuentra en /usr/libexec/PlistBuddy .

1 votos

Apple eliminó esa página y no encuentro ningún archivo. Sin embargo, el manual sigue disponible en MacOS Mojave.

1 votos

@FranklinYu, efectivamente. También hay un tutorial en marcosantadev.com/manejo-de-archivos-plistbuddy .

5voto

bearAndShark Puntos 6

Ya que mencionaste Sublime Text, ahora hay un plugin que puedes usar que hace la conversión automáticamente por ti:

https://packagecontrol.io/packages/BinaryPlist

1voto

SyndiShanX Puntos 11

Hice un archivo CMD (Batch) para ayudar a la gente con la conversión de 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.Renombrar el 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 utilizar 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

0voto

benwiggy Puntos 8

BBEdit convertirá los plists binarios y los guardará correctamente sobre la marcha.

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