Was ist das PLIST-Dateiformat?
Dateien im .plist-Format sind Einstellungsdateien, die Konfigurations- und Eigenschaftsinformationen für viele Programme in der macOS-Umgebung speichern. Sie werden auch als Präferenzdateien bezeichnet. .plist-Dateien speichern häufig Benutzereinstellungen und Anwendungsdaten und sind ein Standardelement des Core-Foundation-Systems von Apple - verwendet auf macOS, iOS, iPadOS und anderen Apple-Plattformen.
.plist-Dateien können auf zwei Arten gespeichert werden - als Text oder als Binärdatei. Die Textform verwendet XML, das den Dateiinhalt geordnet und lesbar hält. Als Text gespeicherte Dateien können mit einem beliebigen Texteditor angezeigt und bearbeitet werden; spezialisierte Programme wie der integrierte Property-List-Editor von Xcode erleichtern die Bearbeitung jedoch. Die Binärform (erkennbar an den Magic Bytes bplist00 am Dateianfang) ist kompakter und wird häufig vom Betriebssystem selbst geschrieben.
.plist-Dateien können über die Befehlszeile und den plutil-Befehl einfach zwischen Text- und Binärformat konvertiert werden. Die Konvertierungsbefehle lauten:
- Binärformat in XML:
plutil -convert xml1 file.plist - XML-Format in Binär:
plutil -convert binary1 file.plist
Der übliche Name für die primäre Property List einer App ist Info.plist. Beachten Sie immer, ob Schlüsselnames in .plist-Dateien Großbuchstaben verwenden, da sie beim Lesen durch das System Groß-/Kleinschreibung beachten. Verwandte Formate sind .mobileconfig für Gerätekonfigurationsprofile und .strings für Lokalisierungsdaten.
Sicherheit
RISIKO: LOWPlists sind Daten, kein ausführbarer Code, und führen daher nichts von selbst aus. Das realistische Risiko ist Beschädigung, nicht Schadsoftware: Das manuelle Bearbeiten der Einstellungen oder Info.plist einer App mit einem falschen Typ oder Schlüssel kann dazu führen, dass die App nicht mehr startet oder sich falsch verhält. Sichern Sie die Datei zuerst, und bevorzugen Sie unter macOS den 'defaults'-Befehl gegenüber dem direkten Bearbeiten aktiver Präferenz-Plists (cfprefsd kann manuelle Änderungen überschreiben). Plists in Konfigurationsprofilen (.mobileconfig) können Gerätesicherheitseinstellungen ändern; installieren Sie daher nur Profile aus vertrauenswürdigen Quellen.
Formatdetails
kurz gefasstProgramme zum Öffnen von PLIST-Dateien
Technische Details
technische Spezifikation| Formatvarianten | Zwei Kodierungen teilen sich die `.plist`-Erweiterung: XML (textbasiert) und Binär (`bplist`) |
| Binäre Magic Bytes | `bplist00` (8 Bytes, ASCII) bei Byte-Offset 0; fehlt in der XML-Variante |
| MIME-Typ | `application/x-plist` |
| XML-Wurzelelement | `<plist version="1.0">` mit vorangestellter `<!DOCTYPE plist ...>`-Deklaration |
| Skalare Datentypen | `string`, `integer`, `real`, `true`/`false` (Boolean), `date` (ISO 8601), `data` (Rohdaten) |
| Sammlungstypen | `array` (geordnete Liste) und `dict` (Schlüssel-Wert-Map); beide unterstützen beliebige Verschachtelung |
| Binäres Formatstruktur | Objekttabelle + Offset-Tabelle + fester 32-Byte-Trailer; Trailer enthält Objektanzahl und Position der Offset-Tabelle |
| Base64-Kodierung | XML-`<data>`-Elemente kodieren Binär-Blobs als Base64; das Binärformat speichert Rohdaten direkt |
| Textkodierung (XML-Form) | UTF-8 (Standard) oder UTF-16 mit BOM; angegeben in der XML-Verarbeitungsanweisung |
| Schlüssel-Groß-/Kleinschreibung | Dict-Schlüsselnamen unterscheiden Groß-/Kleinschreibung; `CFBundleIdentifier` und `cfbundleidentifier` werden als unterschiedliche Schlüssel behandelt |
| Häufige Speicherorte (macOS) | App-Bundles (`Info.plist`), Benutzereinstellungen (`~/Library/Preferences/`), Launch-Daemons und Systemkonfiguration |
| Konvertierungstool | `plutil` (in macOS integriert); validiert, konvertiert und ändert `.plist`-Dateien über die Befehlszeile |
| Veraltetes ASCII-Format | Eine dritte NeXTSTEP-ASCII-Syntax mit `{` / `(`-Trennzeichen existiert; macOS kann sie parsen, erzeugt sie heute aber selten |
| Entitlements-Verwendung | Die `.plist`-Struktur wird für `.entitlements`-Dateien wiederverwendet, die Sandbox- und Fähigkeitsberechtigungen beim Code-Signing deklarieren |
| iOS/iPadOS-Anforderung | Jedes iOS- und iPadOS-App-Bundle erfordert eine `Info.plist`, die Bundle-ID, Anzeigename, Gerätefähigkeiten und Datenschutznutzungsstrings deklariert |
| Veröffentlicht | NeXTSTEP (late 1980s); current XML/binary forms with Mac OS X 10.0 (2001) |
| Offener Standard | Ja · lizenzgebührenfrei |
| Spezifikation | developer.apple.com |
PLIST-Konvertierungen
Community Q&A
von Nutzern gefragtNoch keine Fragen - stellen Sie die erste Frage zu PLIST-Dateien.