¿Qué es el formato de archivo PLIST?
Los archivos en formato .plist son archivos de configuración que almacenan información de propiedades y ajustes para muchos programas en el entorno macOS. También se denominan archivos de preferencias. Los archivos .plist a menudo almacenan ajustes de usuario y datos de aplicaciones, y son un elemento estándar del sistema Core Foundation de Apple, utilizado en macOS, iOS, iPadOS y otras plataformas de Apple.
Los archivos .plist pueden almacenarse mediante dos métodos: como texto o binario. La forma de texto utiliza XML, lo que mantiene el contenido del archivo ordenado y legible por humanos. Los archivos almacenados como texto pueden visualizarse y editarse con cualquier editor de texto; sin embargo, programas dedicados como el editor de Property List integrado en Xcode facilitan su edición. La forma binaria (reconocida por los magic bytes bplist00 al inicio del archivo) es más compacta y suele ser escrita por el propio sistema operativo.
Los archivos .plist pueden convertirse fácilmente entre los formatos de texto y binario utilizando la línea de comandos y el comando plutil. Los comandos de conversión son:
- de formato binario a XML:
plutil -convert xml1 file.plist - de formato XML a binario:
plutil -convert binary1 file.plist
El nombre convencional para la lista de propiedades principal de una aplicación es Info.plist. Tenga siempre en cuenta si los nombres de las claves en los archivos .plist utilizan letras mayúsculas, ya que distinguen entre mayúsculas y minúsculas cuando el sistema los lee. Los formatos relacionados incluyen .mobileconfig para perfiles de configuración de dispositivos y .strings para datos de localización.
Seguridad y protección
RIESGO: LOWLos plists son datos, no código ejecutable, por lo que no ejecutan nada por sí mismos. El riesgo realista es la rotura, no el malware: editar manualmente las preferencias de una aplicación o el Info.plist con un tipo o clave incorrectos puede impedir que la aplicación se inicie o se comporte correctamente. Haga una copia de seguridad del archivo primero y, en macOS, prefiera el comando «defaults» antes que editar plists de preferencias en vivo (cfprefsd puede sobrescribir los cambios manuales). Los plists dentro de los perfiles de configuración (.mobileconfig) pueden cambiar los ajustes de seguridad del dispositivo, así que solo instale perfiles de fuentes en las que confíe.
Detalles del formato
en pocas palabrasProgramas que abren archivos PLIST
Detalles técnicos
especificación profunda| Variantes del formato | Dos codificaciones comparten la extensión `.plist`: XML (basada en texto) y binaria (`bplist`) |
| Magic bytes binarios | `bplist00` (8 bytes, ASCII) en el desplazamiento de byte 0; ausente en la variante XML |
| Tipo MIME | `application/x-plist` |
| Elemento raíz XML | `<plist version="1.0">` precedido por una declaración `<!DOCTYPE plist ...>` |
| Tipos de datos escalares | `string`, `integer`, `real`, `true`/`false` (booleano), `date` (ISO 8601), `data` (bytes en bruto) |
| Tipos de colección | `array` (lista ordenada) y `dict` (mapa clave-valor); ambos admiten anidamiento arbitrario |
| Estructura del formato binario | Tabla de objetos + tabla de desplazamientos + tráiler fijo de 32 bytes; el tráiler registra el recuento de objetos y la posición de la tabla de desplazamientos |
| Codificación Base64 | Los elementos `<data>` de XML codifican bloques binarios como Base64; el formato binario almacena bytes en bruto directamente |
| Codificación de texto (forma XML) | UTF-8 (predeterminado) o UTF-16 con BOM; declarado en la instrucción de procesamiento XML |
| Sensibilidad a mayúsculas en claves | Los nombres de las claves de diccionario distinguen entre mayúsculas y minúsculas; `CFBundleIdentifier` y `cfbundleidentifier` se tratan como claves distintas |
| Ubicaciones comunes (macOS) | Paquetes de aplicaciones (`Info.plist`), preferencias de usuario (`~/Library/Preferences/`), demonios de lanzamiento y configuración del sistema |
| Herramienta de conversión | `plutil` (integrada en macOS); valida, convierte y modifica archivos `.plist` desde la línea de comandos |
| Formato ASCII heredado | Existe una tercera sintaxis ASCII de NeXTSTEP que utiliza delimitadores `{` / `(`; macOS puede analizarla pero rara vez la produce hoy en día |
| Uso en Entitlements | La estructura `.plist` se reutiliza para archivos `.entitlements` que declaran permisos de sandbox y capacidades durante la firma de código |
| Requisito de iOS/iPadOS | Cada paquete de aplicación de iOS e iPadOS requiere un `Info.plist` que declare el ID del paquete, el nombre visible, las capacidades del dispositivo y las cadenas de uso de privacidad |
| Lanzado | NeXTSTEP (late 1980s); current XML/binary forms with Mac OS X 10.0 (2001) |
| Estándar abierto | Sí · libre de regalías |
| Especificación | developer.apple.com |
Conversiones de PLIST
Preguntas y respuestas de la comunidad
preguntado por usuariosAún no hay preguntas; sea el primero en preguntar sobre los archivos PLIST.