La adición de Apple de Sandboxing en macOS agregó carpetas de aplicaciones predefinidas al sistema operativo. Aquí le mostramos cómo eliminar algunas de esas carpetas que probablemente no necesite y recuperar algo de espacio en el disco.
Hace más de una década, Apple introdujo Sandboxing en macOS. Sandboxing es esencialmente una medida de seguridad que restringe qué partes del sistema de archivos macOS puede acceder una aplicación.
Cuando los desarrolladores construyen aplicaciones con Xcode de Apple para macOS, pueden establecer permisos de sandbox para cada aplicación cambiando la configuración en Xcode.
Dependiendo de los niveles de permisos establecidos en la configuración de compilación del objetivo de un proyecto Xcode, una aplicación construida con Xcode puede acceder a todo el sistema de archivos, solo a archivos y carpetas definidos, a la red o a nada.
Objetivos en Xcode
Un objetivo de Xcode es simplemente un conjunto definido de valores dentro de un proyecto Xcode que representa una pieza de software a construir. Un proyecto Xcode puede tener uno o más objetivos.
Algunos objetivos están vacíos y contienen solo reglas para construir otros objetivos. Puede agregar nuevos objetivos a un proyecto Xcode seleccionando Nuevo y luego Objetivo en el menú Archivo de Xcode en la barra de menú.
Si luego hace clic en Otro en la hoja de plantilla de nuevo objetivo en Xcode, verá dos metas posibles: Aggregate y External Build System. Al seleccionar Aggregate, se crea un nuevo objetivo para construir todos los otros objetivos existentes en el proyecto Xcode.
Derechos de sandbox
Cuando se construye una aplicación de macOS, Xcode almacena estas configuraciones, llamadas derechos, en un archivo dentro del paquete de la aplicación con una extensión “.entitlements”. Puede abrir un archivo .entitlements en Xcode y ver sus ajustes como una lista jerárquica con campos en los que puede hacer clic, o puede ver un archivo .entitlements en cualquier editor de texto para mostrar su contenido como un archivo XML.
Los contenidos de los archivos .entitlements se almacenan como pares de clave-valor que representan ajustes (claves) y cada uno de sus valores.
Un paquete es simplemente una carpeta especial con marcadores configurados para que macOS sepa que contiene código, recursos o archivos que se utilizarán en tiempo de ejecución. La mayoría de las aplicaciones de Mac son paquetes, al igual que muchos marcos de código.
Contenedores de sandbox
Ahora que sabe cómo funciona el sandboxing a nivel de aplicación en macOS, es hora de hablar sobre los contenedores.
Dado que la idea detrás del sandboxing es restringir a qué partes del sistema de archivos de macOS tienen acceso las aplicaciones, Apple también creó una nueva carpeta del sistema en la carpeta /Library del usuario en Mac llamada Containers. Cuando se ejecuta una aplicación con sandboxing, macOS crea silenciosamente una carpeta específica de la aplicación dentro de la carpeta ~/Library/Containers para esa aplicación.
La carpeta del usuario se designa normalmente en UNIX con ‘~’.
También hay una carpeta “ContainerManager” en la carpeta ~/Library/ que no debe tocar, ya que macOS la usa para administrar la carpeta Containers. Cambiar la carpeta ContainerManager puede causar un comportamiento no definido o pérdida de datos en su Mac.
Cada carpeta dentro de ~/Library/Containers es una carpeta diseñada para el uso de una sola aplicación. Si una aplicación se construyó con sandboxing activado, puede almacenar todos sus propios datos dentro de su carpeta en el directorio ~/Library/Containers.
Sobrecarga de contenedores
Con el tiempo, a medida que se ejecuta una aplicación, las carpetas de contenedores pueden crecer a un tamaño bastante grande. Si ya no usa una aplicación en particular, puede eliminar de forma segura su carpeta de aplicaciones en la carpeta Containers. Pero, en general, no debe eliminar ninguna carpeta de aplicaciones de contenedores para software de Apple, a menos que pertenezca a una aplicación adicional de Apple que nunca usará. Por ejemplo, GarageBand, Logic o Final Cut Pro.
Puede ver el tamaño de todas las carpetas de aplicaciones de contenedores en el directorio Containers haciendo clic en la etiqueta de encabezado Tamaño en la parte superior de la ventana Containers. Haciendo clic en la etiqueta de encabezado de Tamaño una segunda vez ordenará las carpetas de aplicaciones de contenedores por tamaño en orden descendente, desde el más grande hasta el más pequeño.
Una vez que haya determinado qué aplicaciones no usa y qué carpetas de aplicaciones de contenedores ya no necesita, puede eliminarlas de su Mac moviéndolas a la Papelera y luego elegir Finder y luego Vaciar papelera en la barra de menú.
Esto puede liberar una cantidad justa de espacio en disco si usa muchas aplicaciones o aplicaciones que almacenan muchos datos.
Tenga en cuenta que una vez que elimine la carpeta de aplicaciones de un contenedor, cualquier dato almacenado para esa aplicación puede desaparecer de su Mac. Si reinstala y vuelve a ejecutar la aplicación, comenzará con una pizarra limpia. Es posible que desee hacer una copia de seguridad de cualquier carpeta de aplicaciones de contenedores que planee eliminar primero, para que pueda restaurarlas más adelante si es necesario.
La carpeta completa ~/Library/Containers puede crecer a varios gigabytes de tamaño después de un tiempo, por lo que eliminar periódicamente las carpetas de aplicaciones de contenedores puede liberar un poco de espacio en disco.
Desea una carpeta de contenedores y elimine cualquier carpeta de aplicación de contenedores que no necesite.