Wie bearbeite ich eine .plist-Datei?

Was ist die beste Anwendung zum Öffnen und Bearbeiten einer Plist-Datei?

war nicht ich, aber jemand hat für das Schließen gestimmt ... Ich denke, wenn Sie Ihre Frage nur so ändern, dass sie genauer beschreibt, was Sie zu tun versuchen, würde sie keine "subjektiven" Stimmen erhalten.
Abstimmung zum Schließen ohne Kommentar? Weiter so, Team!
Das ist eine gute Frage. Mehrmals wollte ich eine .plist-Datei öffnen, aber selbst mit dem Herunterladen einer App sah es (sehr) schwierig aus, also gab ich auf.

Antworten (8)

Eine PList-Datei ist, wie Mankoff sagte, nur eine speziell formatierte XML-Datei, sodass Sie sie tatsächlich in einem Programm wie TextEdit bearbeiten und erstellen können.

Aufgrund der spezifischen Natur von PLists to Development wird die Verwendung eines speziellen Programms wie Xcodeoder Property List Editorjedoch zu einem viel fruchtbareren Unterfangen. Dies liegt daran, dass es nicht nur den XML-Code automatisch für Sie formatiert, sondern auch die Schlüsselkennungen und Ebenen in lesbare Wörter übersetzt und für einige Werte auch ein Dropdown-Menü bereitstellt, um die richtigen Antworten einzugeben. Besonders beim Umgang mit iPhone-Plists, wenn mehrere Laufzeitvariablen mithilfe der Plist festgelegt werden können, macht es das einfache Erstellen neuer Felder und das Wissen, was sie einfügen müssen, so viel einfacher.

Sie können sowohl Xcode als auch PList Editor kostenlos von der Apple Developer-Website herunterladen, indem Sie die neueste Xcode-Version herunterladen.

Einige IIRC-Plists sind jedoch komprimiert, wodurch sie in einem Texteditor nicht geöffnet werden können, ohne sie zuerst zu decodieren. Apple-Tools machen das aber automatisch und wieder zurück.
Nun, perfekt, mehr Gründe, Xcode 4 zu verwenden!
Wenn nur… ! Aber nein, einige .plist-Dateien sind binär oder so ähnlich, und TextEdit reicht ihnen nicht aus.
Denken Sie daran, dass es je nach Anwendungsfall ein besser geeignetes Tool für die Bearbeitung eines bestimmten Typs von Plist-Dateien geben kann. Beispielsweise können Sie Apple Configurator zum Bearbeiten von iOS-Profilen (Erweiterung .mobileconfig) oder Clover Configurator zum Bearbeiten von Clover-Startprofilen verwenden.

Wenn die Plist-Datei im XML-Format vorliegt, können Sie sie in einem beliebigen Texteditor wie TextEdit bearbeiten. Wenn die Plist-Datei im Binärformat vorliegt, können Sie sie zuerst in XML konvertieren, indem Sie Folgendes ausführen:

plutil -convert xml1 file.plist

Wenn Sie nach der Bearbeitung zum Binärformat zurückkehren möchten:

plutil -convert binary1 file.plist

Wenn Sie Xcode 4.3 oder höher haben, können Sie damit Eigenschaftslisten in einem grafischen Editor wie folgt bearbeiten:

Xcode 4.2 und früher enthielt eine separate Anwendung zum Bearbeiten von Eigenschaftslisten ( /Developer/Applications/Utilities/Property List Editor.app/).

Wie diese Lösung zeigt, ist es durchaus möglich, plutil -convert json $file(oder xml) zu verwenden, die Datei dann mit einem beliebigen Editor (wie ) zu bearbeiten viund sie schließlich mit plutil -convert binary1 $file.
plutil -p <file>wird "Eigenschaftsliste in einer für Menschen lesbaren Weise drucken", anstatt sie zu konvertieren
Dies ist die vollständigere Antwort und sollte die akzeptierte sein. Beispielsweise können Sie ~/Library/Preferences/.GlobalPreferences.plist nicht ohne Konvertierung direkt bearbeiten.

Ein gutes Programm wie TextWrangler kann Binärdateien bearbeiten .plist, ohne sie zuerst mit Terminal konvertieren zu müssen. Öffnen Sie einfach die Datei wie jede andere (z. B. per Drag-and-Drop auf das Programmsymbol oder den Datei-Öffnen-Dialog oder Öffnen mit im Finder oder ...).

Aber die Werte sind nicht lesbar.
Danke für diesen Tipp, Daniel. Ich habe den großen Bruder von TextWrangler, BBEdit, und ich hatte keine Ahnung, dass ich die ganze Zeit über einen netten Plist-Editor hatte. :)
@ScottJohnson BBEdit ist sowohl der große Bruder als auch der Nachfolger von TextWrangler (aber es gibt jetzt die Option, das alte TextWrangler-Symbol zu verwenden! Yay!)

Seit Apple den GUI Property List Editor abgeschafft hat, ist Xcode die beste kostenlose Option, wenn Sie sich des Ergebnisses sicher sein wollen.

Es gibt einige Fallstricke bei der Verwendung eines generischen Code-Editors zum Bearbeiten von Plist-Dateien. Da Wörterbücher Einträge wie verwenden

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

Sie können beispielsweise eine gültige XML-Datei erstellen, die keine gültige Plist-Datei ist:

<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>

Wenn Sie bereit sind, kommerziell zu werden, bearbeitet Plistinator sowohl Binär- als auch XML-Plist-Dateien.

Vollständige Offenlegung: Ich bin der Autor von Plistinator und die 12,99 $, die es kostet, werden für meine Ramen und Miete bezahlt.

ist es besser als XCode?
Xcode ist besser als Plistinator auf dem Mac - die Benutzeroberfläche ist besser und es ist kanonisch Apple. Es kann mühsam sein, da Sie den gesamten Xcode installieren müssen, nur um das Editor-Tool zu erhalten. Plistinator führt die Verzeichnissuche/-scan durch und hat auch ein großes Bearbeitungsfeld zum Eingeben von Freiformtext in Werte. Diese Funktionen machen Plistinator hervorragend für Jobs wie datengesteuerte Apps und Spiele. Aber für die meisten Jobs ist der Editor von Xcode besser.

Der kostenlose Visual Studio Code Editor kann Plist-Dateien im Binärformat mit Hilfe der Binary Plist-Erweiterung öffnen, bearbeiten und speichern :

Eine Visual Studio Code-Erweiterung, die das Bearbeiten von binären Eigenschaftslistendateien als XML ermöglicht. Es ist vom BinaryPlist Sublime Text-Paket inspiriert, obwohl die Erfahrung nicht so nahtlos ist (der Benutzer muss dem Öffnen einer Binärdatei zustimmen und die Bearbeitung erfolgt in einem zusätzlichen Tab). Um dies zu erreichen, wird ein virtuelles Dateisystem verwendet, das die FileSystemProviderAPI verwendet.

Die Erweiterung ist plattformübergreifend, verwendet jedoch hauptsächlich die macOS- plutilBinärdatei zur Konvertierung, Python plistlibwird als Alternative verwendet, sofern verfügbar. Das Node-Paket simple-plistwird als Fallback verwendet, aber da JavaScript keinen Float-Typ hat real, werden Werte, die ganze Zahlen sind, in integerTypen umgewandelt (zunächst wird ein Warndialog angezeigt).

In einem Terminalfenster können Sie verwenden PlistBuddy, verfügbar unter /usr/libexec/PlistBuddy.

PlistBuddykann Werte innerhalb einer Plist lesen und ändern, entweder interaktiv oder direkt auf der Befehlszeile.

Allerdings PlistBuddyist es kein GUI-Editor.

Anwendungsbeispiele:

# Show full help
/usr/libexec/PlistBuddy -h

# Print content of plist
/usr/libexec/PlistBuddy -c print /Library/Preferences/com.apple.TimeMachine.plist

# Print selected content of plist
/usr/libexec/PlistBuddy -c 'print SkipPaths' /Library/Preferences/com.apple.TimeMachine.plist

Ich habe PlistEdit Pro für macOS verwendet und fand es nützlich und umfassend funktionsreich.

BBEdit öffnet Plist-Dateien zum Bearbeiten und führt alle erforderlichen Konvertierungen von Dateitypen durch.

Bei Bedarf übernimmt es auch den Zugriff auf Dateiberechtigungen.

Sie können auch Dinge wie das Erstellen von Textfiltern tun, um Dinge wie das Codieren/Decodieren der Base64-Codierung zu tun.

Es ist der unverzichtbare Texteditor für Mac. (Keine Verbindung zum Unternehmen, nur ein Benutzer seit 30 Jahren...!)