Hvad er PLIST-filformatet?
Filer i .plist-formatet er indstillingsfiler, der gemmer konfigurations- og egenskabsoplysninger for mange programmer i macOS-miljøet. De kaldes også præferencefiler. .plist-filer gemmer ofte brugerindstillinger og applikationsdata og er et standardelement i Apples Core Foundation-system - brugt på tværs af macOS, iOS, iPadOS og andre Apple-platforme.
.plist-filer kan gemmes ved hjælp af to metoder - som tekst eller binært. Tekstformen bruger XML, hvilket holder filindholdet ordnet og menneskelæsbart. Filer gemt som tekst kan vises og redigeres med enhver teksteditor; dog gør dedikerede programmer som Xcodes indbyggede Property List-editor redigering lettere. Den binære form (genkendt på de magiske bytes bplist00 i starten af filen) er mere kompakt og skrives normalt af selve operativsystemet.
.plist-filer kan nemt konverteres mellem tekst- og binære formater ved hjælp af kommandolinjen og kommandoen plutil. Konverteringskommandoerne er:
- binært format til XML:
plutil -convert xml1 file.plist - XML-format til binært:
plutil -convert binary1 file.plist
Det konventionelle navn for en apps primære egenskabsliste er Info.plist. Vær altid opmærksom på, om nøglenavne i .plist-filer bruger store bogstaver, da de er case-sensitive, når de læses af systemet. Relaterede formater inkluderer .mobileconfig til enhedskonfigurationsprofiler og .strings til lokaliseringsdata.
Sikkerhed og tryghed
RISIKO: LOWPlists er data, ikke eksekverbar kode, så de kører ikke noget i sig selv. Den realistiske risiko er fejl i systemet, ikke malware: manuel redigering af en apps præferencer eller Info.plist med en forkert type eller nøgle kan forhindre appen i at starte eller fungere korrekt. Tag en sikkerhedskopi af filen først, og foretræk kommandoen „defaults“ på macOS frem for at redigere aktive præference-plists (da cfprefsd kan overskrive manuelle ændringer). Plists inde i konfigurationsprofiler (.mobileconfig) kan ændre enhedens sikkerhedsindstillinger, så installer kun profiler fra kilder, du har tillid til.
Formatdetaljer
kort fortaltProgrammer der åbner PLIST-filer
Tekniske detaljer
dyb specifikation| Formatvarianter | To kodninger deler filtypen `.plist`: XML (tekstbaseret) og binær (`bplist`) |
| Binære magiske bytes | `bplist00` (8 bytes, ASCII) ved byte-offset 0; fraværende i XML-varianten |
| MIME-type | `application/x-plist` |
| XML-rodelement | `<plist version="1.0">` forudgået af en `<!DOCTYPE plist ...>` deklaration |
| Skalære datatyper | `string`, `integer`, `real`, `true`/`false` (boolean), `date` (ISO 8601), `data` (rå bytes) |
| Samlingstyper | `array` (ordnet liste) og `dict` (nøgle-værdi map); begge understøtter vilkårlig indlejring |
| Binær formatstruktur | Objekttabel + offset-tabel + fast 32-byte trailer; traileren registrerer antal objekter og offset-tabellens position |
| Base64-kodning | XML `<data>` elementer koder binære blobs som Base64; det binære format gemmer rå bytes direkte |
| Tekstkodning (XML-form) | UTF-8 (standard) eller UTF-16 med BOM; deklareret i XML-processeringsinstruktionen |
| Case-sensitivity for nøgler | Dict-nøglenavne er case-sensitive; `CFBundleIdentifier` og `cfbundleidentifier` behandles som forskellige nøgler |
| Almindelige placeringer (macOS) | App-bundles (`Info.plist`), brugerpræferencer (`~/Library/Preferences/`), launch-daemons og systemkonfiguration |
| Konverteringsværktøj | `plutil` (indbygget i macOS); validerer, konverterer og modificerer `.plist`-filer fra kommandolinjen |
| Gammelt ASCII-format | En tredje NeXTSTEP ASCII-syntaks, der bruger `{` / `(` separatorer, eksisterer; macOS kan fortolke det, men producerer det sjældent i dag |
| Brug af Entitlements | `.plist`-strukturen genbruges til `.entitlements`-filer, der deklarerer sandbox- og rettighedstilladelser under kodesignering |
| Krav til iOS/iPadOS | Enhver iOS- og iPadOS-app-bundle kræver en `Info.plist`, der deklarerer bundle-ID, visningsnavn, enhedsfunktioner og strenge for beskyttelse af privatlivets fred |
| Udgivet | NeXTSTEP (late 1980s); current XML/binary forms with Mac OS X 10.0 (2001) |
| Åben standard | Ja · royaltyfri |
| Specifikation | developer.apple.com |
PLIST-konverteringer
Fællesskabets Q&A
spurgt af brugereIngen spørgsmål endnu - vær den første til at spørge om PLIST-filer.