Probleme beim Öffnen von plist-Dateien im Texteditor

20

In Finder kann ich problemlos eine Vorschau einer Plist-Datei anzeigen. Wenn ~/Library/Preferences/com.apple.Safari.RSS.plistich zum Beispiel Quick Look mit verwende, bekomme ich eine schöne Vorschau des Inhalts:

Schneller Blick

Wenn ich dann versuche, die Datei mit TextEdit oder einem anderen Editor zu öffnen (ich habe bisher SublimeText, TextMate, Vim, Nano und Coda 2 ausprobiert), ist die Codierung anscheinend deaktiviert:

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

So sieht es aus, wenn ich es mit TextEdit öffne:

TextEdit

Ich habe versucht, die Codierung in Sublime Text und anderen Apps zu ändern, aber das hilft nicht.

Irgendwelche Gedanken?

Ich laufe 10.8.4.

apc
quelle

Antworten:

23

plist-Dateien sind nicht unbedingt einfacher Text, daher müssen sie über einen Konverter ausgeführt werden. Finder und Xcode (mit Plist-Editor) tun dies, ohne es dem Benutzer mitzuteilen

Das binäre Format wird in diesem dokumentiert C - Code so jede Anwendung es umwandeln kann und jemand eine Formatbeschreibung in Englisch geschrieben hat und mehr Apple - Dokumentation hier aber zur Kenntnis , dass es alte Pfade verweist in/Developer/Documentation

Das Kommandozeilenprogramm plutil kann in und aus XML konvertieren

zB um eine binäre Eigenschaftsliste im XML-Format auf stdout anzuzeigen:

plutil -convert xml1 -o - <file name>

Auch um eine Binärdatei in eine XML-Datei zu konvertieren und diese dann so zu belassen, dass das Anwenderprogramm beide lesen kann.

plutil -convert xml1 <file name>
user151019
quelle
Vielen Dank. Aha. Wenn ich es also bearbeiten muss, muss ich es in XML konvertieren, mit einem Editor öffnen und dann zurückkonvertieren. Ich werde davon ausgehen, dass dies so ist. Keine Notwendigkeit zu antworten, es sei denn, ich habe es falsch verstanden!
Apc
3
Sie können plutil -convert xml1 ~/Library/Preferences/com.apple.Safari.RSS.plistdie Plist auch verwenden , um sie direkt in XML zu konvertieren. Und nachdem Sie die Plist bearbeitet haben, müssen Sie sie nicht mehr zurück in eine Binärdatei konvertieren.
Lri
1
> Finder und Xcode (mit Plist-Editor) tun dies, ohne es dem Benutzer mitzuteilen. Um genau zu sein, es ist nicht Finder, der dies tut, sondern QuickLook in Form eines QuickLook-Plugins.
Saagarjha
Sie können auch den neueren defaults read <file>Befehl verwenden, um eine Art JSON-Ansicht davon zu erhalten.
Dlamblin
5

Sie können plist-Dateien auch mit PlistBuddy , einem Befehlszeilenprogramm, bearbeiten .

PlistBuddy befindet sich in /usr/libexec/PlistBuddy.

lhf
quelle
1
Apple hat diese Seite entfernt und ich kann kein Archiv finden. Das Handbuch ist jedoch weiterhin unter macOS Mojave verfügbar.
Franklin Yu
@ FranklinYu, in der Tat. Es gibt auch ein Tutorial unter marcosantadev.com/manage-plist-files-plistbuddy .
lhf
0

Ich habe eine CMD-Datei (Batch) erstellt, um Benutzer beim Konvertieren von plist-Dateien unter Windows zu unterstützen:
Anleitung: 1.
Kopieren Sie den gesamten Code.
2. Erstellen Sie ein neues
Textdokument.
3. Fügen Sie den Code ein. 4. Speichern Sie die Datei.
5. Benennen Sie die Datei mit ".bat" statt ".txt"
6.Öffnen Sie es

    @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

Oder Sie können die Version verwenden, die nach der Konvertierung nicht geschlossen wird, um mehrere Konvertierungen zuzulassen, ohne die Datei erneut zu öffnen:

    @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
SyndiShanX
quelle
1
Hallo und herzlich willkommen bei Ask Different! Diese Antwort kann an anderer Stelle nützlicher sein - das OP fragt nicht nach der Verwendung von Windows.
Scot
-1

Sie können die Eigenschaftslistendatei mithilfe der folgenden Befehlszeile vom Binärformat in XML konvertieren:

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

Bearbeiten Sie es dann wie gewohnt. Zweitens müssen Sie es nicht zurückkonvertieren, da Apps normalerweise beide Formate erkennen.

Kenorb
quelle