# Desinstalar apps de Mac sin perder datos compartidos

> Usa desinstaladores del proveedor para componentes del sistema, identifica restos por propiedad y conserva perfiles, proyectos y group containers.

Published: 2026-06-19 | Updated: 2026-08-08

Arrastrar una app autocontenida a la Papelera puede ser una desinstalación suficiente. Otras apps
instalan helpers, controladores, extensiones del sistema, elementos de inicio, contenedores
compartidos o grandes bases de datos de usuario. El objetivo no es borrar cada nombre de archivo
que se parezca al del proveedor; es retirar el software sin eliminar documentos ni datos
compartidos que otra app todavía use.

Aquí es donde se esconden, cómo limpiarlos a mano y la forma más rápida de encontrarlos
todos sin adivinar.

## Por qué arrastrar a la Papelera deja residuos

Una app de Mac es un paquete (el archivo `.app`), pero la mayoría también escribe datos fuera
de ese paquete la primera vez que se ejecuta: preferencias, cachés, archivos de soporte y a
veces un elemento de inicio o un agente en segundo plano. Borrar el `.app` elimina el
programa, no el rastro que dejó en tus carpetas Library. Ese rastro es lo que la gente llama
residuos o restos de apps.

<figure class="blog-diagram">
  <img src="https://mole.fit/img/blog/app-uninstall-layers.webp" width="1360" height="454" loading="lazy" alt="Un Bundle ID conecta el bundle de la aplicación con datos de soporte, cachés, preferencias, contenedores y launch agents antes de la revisión y la eliminación">
  <figcaption>Una desinstalación completa sigue la identidad del bundle a lo largo de la app y su huella en Library, y revisa el conjunto completo antes de moverlo a la Papelera.</figcaption>
</figure>

En una app pequeña el resto puede ser un puñado de preferencias inofensivas. Un navegador, un
juego, una herramienta de desarrollo o una app multimedia puede dejar gigabytes de datos
controlados por el usuario. El tamaño por sí solo no distingue una caché desechable de perfiles,
proyectos, mensajes, plug-ins o contenido descargado.

## Usa primero el desinstalador del proveedor cuando la app modifica el sistema

Clientes VPN, herramientas antivirus, controladores de audio, software de virtualización,
clientes de sincronización en la nube, herramientas de dispositivos de entrada y apps con
extensiones del sistema deberían eliminarse con el desinstalador propio o el que proporciona
el proveedor. Ese flujo puede desactivar extensiones, descargar servicios privilegiados y
quitar recibos en un orden que Finder no puede inferir. Exporta ajustes o datos locales
antes de empezar y comprueba si una suscripción o autorización de dispositivo debe liberarse
por separado. La
[guía de desinstalación](https://support.apple.com/102610) de Apple también prefiere el
desinstalador propio de la app cuando existe, y señala que borrar una app no cancela su
suscripción ni elimina los documentos creados con ella.

## Dónde se esconden los residuos de las apps

Muchos residuos habituales por usuario viven dentro de tu carpeta Library de usuario, que
está oculta por defecto. El software integrado al sistema también puede instalar elementos
bajo `/Library`, y por eso conviene usar su desinstalador en lugar de buscar en todo el
sistema. En Finder, mantén Option y abre el menú **Go** para revelar **Library**. Las
ubicaciones de usuario habituales son:

- `~/Library/Application Support/`: los datos de soporte principales de la app, a menudo el
  residuo más grande.
- `~/Library/Caches/`: archivos en caché que la app creó para ir más rápido.
- `~/Library/Preferences/`: los archivos de ajustes (`.plist`) de la app.
- `~/Library/Containers/` y `~/Library/Group Containers/`: datos de apps en sandbox.
- `~/Library/Logs/`: los archivos de registro de la app.
- `~/Library/Saved Application State/`: estado de ventanas y sesión.
- `~/Library/LaunchAgents/`: helpers en segundo plano que relanzan la app o sus
  servicios al iniciar sesión.

Las apps en sandbox pueden guardar datos en un contenedor y compartirlos mediante group
containers. Nunca elimines un group container hasta haber identificado cada app y extensión
que lo usa. Borrarlo por una app retirada puede borrar datos de otra app del mismo
desarrollador.

## Encuéntralos por identificador de bundle

Los residuos son difíciles de emparejar a simple vista porque macOS los nombra por el
**bundle identifier** de la app, una cadena reverse-DNS como `com.spotify.client`, no por el
nombre visible de la app. Obtén primero el identificador:

```
osascript -e 'id of app "Spotify"'
mdls -name kMDItemCFBundleIdentifier -r /Applications/Spotify.app
```

Luego usa el identificador y el nombre del proveedor como pistas de búsqueda:

```
find ~/Library -maxdepth 4 \( -iname "*spotify*" -o -iname "*com.spotify*" \) -print 2>/dev/null
```

Los resultados de búsqueda son candidatos, no pruebas. Inspecciona el contenido de cada ruta,
la app propietaria y su rol. Las preferencias se pueden consultar con `defaults`, pero borrar
un dominio de preferencias es opcional y quita la posibilidad de reinstalar con los ajustes
antiguos. Déjalo si el espacio es trivial o si una reinstalación futura es plausible.

## Cómo eliminarlos a mano

1. Exporta los datos únicos y confirma una copia de seguridad actual.
2. Revisa las instrucciones de desinstalación del proveedor y úsalas para software con
   helpers, extensiones, controladores o estado de licencia.
3. Cierra la app y su helper visible desde la app o Activity Monitor.
4. Mueve un `.app` simple a la Papelera y revisa coincidencias exactas de bundle y proveedor
   en Library. Separa caché de perfiles, proyectos, bases de datos y contenedores
   compartidos.
5. Desactiva los elementos de inicio del proveedor que queden en **System Settings >
   General > Login Items & Extensions**. No adivines una etiqueta de launchd a partir del
   nombre de un plist.
6. Reinicia solo cuando una extensión o un desinstalador del proveedor lo pida. Prueba apps
   relacionadas, tipos de archivo, dispositivos y sincronización antes de vaciar la
   Papelera.

Esto funciona, pero es lento y propenso a errores. Los nombres de la app y del desarrollador
no siempre coinciden con los de las carpetas, los datos en sandbox están enterrados y es
fácil borrar el archivo equivocado o pasar por alto el que importa.

## La forma más rápida y segura

<figure class="blog-diagram">
  <img src="https://mole.fit/img/en/uninstall.webp" width="2584" height="1741" loading="lazy" alt="Una pantalla de revisión de desinstalación con una aplicación expandida que muestra su bundle y restos en ~/Library/Application Support y ~/Library/HTTPStorages, cada uno con tamaño y casilla, y un botón Remove abajo">
  <figcaption>Cada archivo que una desinstalación eliminaría, la app más sus residuos en Library, listado con tamaños y casillas para que confirmes antes de borrar nada. Esta es la revisión de desinstalación de Mole.</figcaption>
</figure>

Un desinstalador dedicado puede resolver el bundle identifier y reunir las coincidencias
probables en Library. [Mole](https://mole.fit/) muestra esos candidatos y sus tamaños antes de eliminar,
valida las rutas y usa la Papelera para los archivos ordinarios. Eso reduce el trabajo de
búsqueda, pero no sustituye un desinstalador del proveedor ni convierte un contenedor
compartido en algo desechable. La revisión sigue siendo parte de la desinstalación, no una
pantalla de confirmación decorativa.

## Bajo el capó: cómo funciona un desinstalador seguro

Se puede saltar, pero muestra por qué el orden y la validación importan aquí. La CLI y la
app nativa usan implementaciones distintas, pero ambas dividen el trabajo en descubrimiento,
revisión y ejecución confirmada. La secuencia de abajo sigue la ruta de la app nativa.

<figure class="blog-diagram">
  <img src="https://mole.fit/img/blog/uninstall-safety-sequence.webp" width="1360" height="454" loading="lazy" alt="Un desinstalador seguro resuelve la identidad de la aplicación, descubre restos, presenta un plan de revisión, espera confirmación, detiene la aplicación y sus helpers, valida cada ruta, descarga los jobs aprobados, mueve los elementos permitidos a la Papelera y registra los resultados omitidos o eliminados">
  <figcaption>El descubrimiento no puede borrar nada. La ejecución empieza solo tras la confirmación; después, cada elemento de inicio y cada ruta de archivo vuelve a pasar por el control de seguridad antes de descargarse o moverse a la Papelera.</figcaption>
</figure>

El bundle identifier solo se acepta en forma reverse-DNS antes de poder impulsar la
coincidencia derivada del bundle, de modo que una entrada malformada no pueda ampliar un
patrón de búsqueda. El escáner también lee identificadores de elementos de inicio embebidos
desde sus archivos `Info.plist` en lugar de adivinarlos por el nombre de archivo. Después de
que apruebes el plan completo, la app cierra el objetivo y detiene sus helpers exactos. Un
elemento de inicio solo se descarga después de que `PathGuard` lo apruebe, y
`DeletionExecutor` valida cada URL otra vez antes de llamar a la capa de Papelera. Las
rutas faltantes, protegidas o rechazadas se convierten en omisiones explícitas, no en
borrados silenciosos a medias.

## Una regla segura de desinstalación

Usa el desinstalador del proveedor para software integrado al sistema. En una app simple,
elimina el bundle y luego revisa los residuos exactos por identidad y tipo de dato. Conserva
documentos, perfiles, bases de datos y group containers hasta que la propiedad quede
demostrada. Deja lo eliminado en la Papelera mientras verificas apps y servicios
relacionados, y vacíala solo cuando el Mac siga comportándose como esperas.

---

Canonical HTML page: https://mole.fit/es/blog/how-to-completely-uninstall-apps-on-mac
Blog index for agents: https://mole.fit/es/blog/llms.txt
Site index for agents: https://mole.fit/llms.txt
