Hva er PLIST-filformatet?
Filer i .plist-formatet er innstillingsfiler som lagrer konfigurasjons- og egenskapsinformasjon for mange programmer i macOS-miljøet. De kalles også preferansefiler. .plist-filer lagrer ofte brukerinnstillinger og applikasjonsdata, og er et standardelement i Apples Core Foundation-system - brukt på tvers av macOS, iOS, iPadOS og andre Apple-plattformer.
.plist-filer kan lagres ved hjelp av to metoder - som tekst eller binært. Tekstformen bruker XML, som holder filinnholdet ordnet og menneskelig lesbart. Filer lagret som tekst kan vises og redigeres med et hvilket som helst tekstredigeringsprogram; imidlertid gjør dedikerte programmer som Xcodes innebygde Property List-redigerer redigeringen enklere. Den binære formen (gjenkjennelig på magic bytes bplist00 i starten av filen) er mer kompakt og skrives vanligvis av selve operativsystemet.
.plist-filer kan enkelt konverteres mellom tekst- og binærformater ved hjelp av kommandolinjen og kommandoen plutil. Konverteringskommandoene er:
- binært format til XML:
plutil -convert xml1 file.plist - XML-format til binært:
plutil -convert binary1 file.plist
Det konvensjonelle navnet på en apps primære egenskapsliste er Info.plist. Vurder alltid om nøkkelnavn i .plist-filer bruker store bokstaver, fordi de er sensitive for store/små bokstaver når de leses av systemet. Relaterte formater inkluderer .mobileconfig for enhetskonfigurasjonsprofiler og .strings for lokaliseringsdata.
Sikkerhet og trygghet
RISIKO: LOWPlister er data, ikke kjørbar kode, så de kjører ingenting i seg selv. Den realistiske risikoen er feilfunksjon, ikke skadevare: manuell redigering av en apps preferanser eller Info.plist med feil type eller nøkkel kan hindre appen i å starte eller fungere korrekt. Ta sikkerhetskopi av filen først, og på macOS bør du foretrekke «defaults»-kommandoen fremfor å redigere aktive preferanse-plister (cfprefsd kan overskrive manuelle endringer). Plister i konfigurasjonsprofiler (.mobileconfig) kan endre sikkerhetsinnstillinger på enheten, så installer kun profiler fra kilder du stoler på.
Formatdetaljer
i et nøtteskallProgrammer som åpner PLIST-filer
Tekniske detaljer
dyp spesifikasjon| Formatvarianter | To kodinger deler filendelsen `.plist`: XML (tekstbasert) og binær (`bplist`) |
| Binære magic bytes | `bplist00` (8 bytes, ASCII) ved byte-offset 0; fraværende i XML-varianten |
| MIME-type | `application/x-plist` |
| XML-rotelement | `<plist version="1.0">` etterfulgt av en `<!DOCTYPE plist ...>`-deklarasjon |
| Skalære datatyper | `string`, `integer`, `real`, `true`/`false` (boolsk), `date` (ISO 8601), `data` (rå bytes) |
| Samlingstyper | `array` (ordnet liste) og `dict` (nøkkel-verdi-kart); begge støtter vilkårlig nøsting |
| Binær formatstruktur | Objekttabell + offset-tabell + fast 32-byte trailer; trailer lagrer antall objekter og posisjon for offset-tabell |
| Base64-koding | XML `<data>`-elementer koder binære objekter som Base64; binært format lagrer rå bytes direkte |
| Tekstkoding (XML-form) | UTF-8 (standard) eller UTF-16 med BOM; deklarert i XML-prosesseringsinstruksjonen |
| Skille mellom store/små bokstaver | Dict-nøkkelnavn er sensitive for store/små bokstaver; `CFBundleIdentifier` og `cfbundleidentifier` behandles som ulike nøkler |
| Vanlige plasseringer (macOS) | App-bundler (`Info.plist`), brukerpreferanser (`~/Library/Preferences/`), launch-daemons og systemkonfigurasjon |
| Konverteringsverktøy | `plutil` (innebygd i macOS); validerer, konverterer og endrer `.plist`-filer fra kommandolinjen |
| Gammelt ASCII-format | En tredje NeXTSTEP ASCII-syntaks som bruker `{` / `(` skilletegn eksisterer; macOS kan tolke det, men produserer det sjelden i dag |
| Bruk av Entitlements | `.plist`-strukturen gjenbrukes for `.entitlements`-filer som deklarerer sandkasse- og funksjonalitetstillatelser under kodesignering |
| Krav for iOS/iPadOS | Hver iOS- og iPadOS-app-bundle krever en `Info.plist` som deklarerer bundle-ID, visningsnavn, enhetsfunksjoner og personvernstrenger |
| Utgitt | NeXTSTEP (late 1980s); current XML/binary forms with Mac OS X 10.0 (2001) |
| Åpen standard | Ja · royalty-fri |
| Spesifikasjon | developer.apple.com |
PLIST-konverteringer
Spørsmål og svar fra fellesskapet
spurt av brukereIngen spørsmål ennå - vær den første til å spørre om PLIST-filer.