¿Por qué aparece el error 'La aplicación está dañada y no se puede abrir' en macOS?
Uno de los problemas más frustrantes al instalar programas en macOS es el mensaje de alerta que indica que la aplicación está dañada y debería trasladarse a la papelera. A diferencia de lo que sugiere la advertencia, en la gran mayoría de los casos el archivo descargado no está corrupto. Este error es generado directamente por Gatekeeper, el mecanismo de seguridad integrado en macOS diseñado para prevenir la ejecución de software no firmado por desarrolladores identificados por Apple.
Causas principales del bloqueo de aplicaciones
Cuando descargas una aplicación desde un navegador web fuera de la Mac App Store, el sistema operativo le asigna automáticamente un atributo extendido denominado atributo de cuarentena (com.apple.quarantine). Las causas más habituales de este fallo incluyen:
- Incompatibilidad de la firma digital tras una actualización reciente de macOS.
- Restricciones estrictas del sistema de seguridad Gatekeeper.
- Modificación de binarios o paquetes de instalación por parte de terceros.
- Atributo de cuarentena activo en el ejecutable descargado.
Método 1: Eliminar el atributo de cuarentena mediante Terminal
La solución más rápida y efectiva consiste en remover la marca de cuarentena que macOS asigna al instalador o a la app. Para ello, utilizaremos la herramienta de atributos extendidos desde la Terminal.
- Abre la aplicación Terminal desde Finder > Aplicaciones > Utilidades o buscando en Spotlight.
- Escribe o pega el siguiente comando dejando un espacio al final:
sudo xattr -cr
- Abre la carpeta Aplicaciones en el Finder y arrastra la aplicación problemática directamente dentro de la ventana de la Terminal para que se complete la ruta automáticamente.
- El comando resultante lucirá similar a esto:
sudo xattr -cr /Applications/NombreDeLaApp.app
- Presiona Enter, introduce tu contraseña de administrador (no se mostrarán caracteres mientras escribes) y vuelve a presionar Enter.
- Intenta abrir la aplicación nuevamente.
Método 2: Permitir aplicaciones de cualquier sitio en Gatekeeper
Si el método anterior no resuelve el problema, puedes desactivar temporalmente las restricciones globales de Gatekeeper para permitir la ejecución de software descargado de cualquier procedencia.
- Abre la Terminal en tu Mac.
- Ejecuta el siguiente comando para deshabilitar la protección estricta de Gatekeeper:
sudo spctl --master-disable
- Introduce tu contraseña de administrador cuando el sistema lo solicite.
- Ve a Ajustes del Sistema > Privacidad y seguridad.
- Desplázate hasta la sección 'Seguridad' y verifica que ahora aparezca seleccionada la opción En cualquier sitio.
- Ejecuta tu aplicación. Una vez abierta, se recomienda volver a activar la protección mediante el comando:
sudo spctl --master-enable
Método 3: Reemplazar el archivo ejecutable o re-firmar la app
Si la aplicación sigue fallando tras aplicar los pasos anteriores, es posible que los permisos internos de la firma de código (codesign) hayan quedado invalidados.
- Abre la Terminal y ejecuta el comando de firma local ad-hoc:
sudo codesign --force --deep --sign - /Applications/NombreDeLaApp.app
Este procedimiento reescribirá la firma digital de la aplicación localmente, permitiendo que la arquitectura de seguridad de macOS acepte la ejecución del paquete sin bloquear el acceso.