Vad är filformatet PLIST?
Filer i formatet .plist är inställningsfiler som lagrar konfigurations- och egenskapsinformation för många program i macOS-miljön. De kallas även inställningsfiler (preference files). .plist-filer lagrar ofta användarinställningar och applikationsdata, och är ett standardelement i Apples Core Foundation-system - som används i macOS, iOS, iPadOS och andra Apple-plattformar.
.plist-filer kan lagras med två metoder - som text eller binärt. Textformen använder XML, vilket håller filinnehållet ordnat och läsbart för människor. Filer som lagras som text kan visas och redigeras med valfri textredigerare; dock gör dedikerade program som Xcodes inbyggda Property List-redigerare redigeringen enklare. Den binära formen (som känns igen på dess magic bytes bplist00 i början av filen) är mer kompakt och skrivs vanligtvis av operativsystemet självt.
.plist-filer kan enkelt konverteras mellan text- och binärformat med hjälp av kommandoraden och kommandot plutil. Konverteringskommandona är:
- binärt format till XML:
plutil -convert xml1 file.plist - XML-format till binärt:
plutil -convert binary1 file.plist
Det konventionella namnet för en apps primära egenskapslista är Info.plist. Tänk alltid på om nyckelnamn i .plist-filer använder stora bokstäver, eftersom de är skiftlägeskänsliga när de läses av systemet. Relaterade format inkluderar .mobileconfig för enhetskonfigurationsprofiler och .strings för lokaliseringsdata.
Säkerhet & trygghet
RISK: LOWPlists är data, inte exekverbar kod, så de kör ingenting i sig själva. Den realistiska risken är funktionsfel, inte skadlig kod: att manuellt redigera en apps inställningar eller Info.plist med fel typ eller nyckel kan hindra appen från att starta eller fungera korrekt. Säkerhetskopiera filen först, och på macOS bör du föredra kommandot „defaults” framför att redigera aktiva inställnings-plists (cfprefsd kan skriva över manuella ändringar). Plists inuti konfigurationsprofiler (.mobileconfig) kan ändra enhetens säkerhetsinställningar, så installera endast profiler från källor du litar på.
Formatdetaljer
i ett nötskalProgram som öppnar PLIST-filer
Tekniska detaljer
djup specifikation| Formatvarianter | Två kodningar delar filtillägget `.plist`: XML (textbaserad) och binär (`bplist`) |
| Binära magic bytes | `bplist00` (8 bytes, ASCII) vid byte-offset 0; saknas i XML-varianten |
| MIME-typ | `application/x-plist` |
| XML-rotelement | `<plist version="1.0">` föregås av en `<!DOCTYPE plist ...>` deklaration |
| Skalära datatyper | `string`, `integer`, `real`, `true`/`false` (boolean), `date` (ISO 8601), `data` (råa bytes) |
| Samlingstyper | `array` (ordnad lista) och `dict` (nyckel-värde-mapp); båda stöder godtycklig nästling |
| Binär formatstruktur | Objekttabell + offsettabell + fix 32-byte trailer; trailern registrerar antal objekt och offsettabellens position |
| Base64-kodning | XML `<data>`-element kodar binära objekt som Base64; binärt format lagrar råa bytes direkt |
| Textkodning (XML-form) | UTF-8 (standard) eller UTF-16 med BOM; deklareras i XML-instruktionen |
| Skiftlägeskänslighet för nycklar | Dict-nyckelnamn är skiftlägeskänsliga; `CFBundleIdentifier` och `cfbundleidentifier` behandlas som olika nycklar |
| Vanliga platser (macOS) | App-bundles (`Info.plist`), användarinställningar (`~/Library/Preferences/`), launch-daemons och systemkonfiguration |
| Konverteringsverktyg | `plutil` (inbyggt i macOS); validerar, konverterar och modifierar `.plist`-filer från kommandoraden |
| Äldre ASCII-format | En tredje NeXTSTEP ASCII-syntax som använder `{` / `(` avgränsare existerar; macOS kan tolka den men producerar den sällan idag |
| Användning av Entitlements | Strukturen för `.plist` återanvänds för `.entitlements`-filer som deklarerar sandbox- och funktionsbehörigheter vid kodsignering |
| Krav för iOS/iPadOS | Varje iOS- och iPadOS-app-bundle kräver en `Info.plist` som deklarerar bundle-ID, visningsnamn, enhetsfunktioner och integritetssträngar |
| Släppt | NeXTSTEP (late 1980s); current XML/binary forms with Mac OS X 10.0 (2001) |
| Öppen standard | Ja · royaltyfri |
| Specifikation | developer.apple.com |
PLIST-konverteringar
Frågor & svar
frågat av användareInga frågor än - bli den första att fråga om PLIST-filer.