Explicador de entitlements
Pega lo que imprime codesign, o tu archivo .entitlements. Se lee aquí mismo, en esta página, y no se envía nada a ninguna parte.
Prueba un ejemplo:
Qué hace
Los entitlements son los permisos con los que está firmada tu app de Mac: si se ejecuta en App Sandbox, a qué carpetas y dispositivos puede acceder, qué protecciones del hardened runtime desactiva y qué servicios de Apple usa. Viven en tu archivo .entitlements y acaban dentro de la firma. Esta herramienta lee el texto que pegas, encuentra cada entitlement y su valor, y dice en palabras sencillas qué permite. Pone primero los que detendrán la notarización, luego los que App Review o un usuario cuidadoso preguntarán, y después los habituales.
Comandos para ejecutar
codesign -d --entitlements - YourApp.app codesign -d --entitlements - --xml YourApp.app
Ejecútalos sobre la compilación que publicas. Una compilación Debug de Xcode suele llevar com.apple.security.get-task-allow, que una compilación Release no lleva. Para revisar un helper o una extensión, apunta el comando a ese bundle.
Qué significa cada resultado
| Marca | Qué significa |
|---|---|
| Arreglar | La notarización lo rechaza, o macOS no ejecutará con él una app de terceros. |
| Aspecto | Una excepción del hardened runtime, una excepción del sandbox, un sandbox desactivado o un ajuste de pruebas. Permitido, pero consérvalo solo si la app lo necesita. |
| OK | App Sandbox está activado. |
| Nota | Un permiso habitual. Comprueba que la app realmente lo use. |
Fuentes: Apple Developer, Entitlements, App Sandbox, Hardened Runtime y Resolving common notarization issues, todas leídas el 6 de noviembre de 2026.
Cómo funciona
Son unas pocas reglas de texto sencillo que se ejecutan en esta página. Lee el XML que contiene un archivo .entitlements o codesign --xml, y las líneas [Key] y [Value] entre corchetes que codesign imprime en macOS recientes. Si pegas solo nombres de claves, los explica. Conoce 50 entitlements comunes. Cualquier otro lo marca como ausente de su lista en lugar de adivinar. No puede saber si el hardened runtime está activado, porque eso es una opción de firma y no un entitlement: busca flags=0x10000(runtime) en lo que imprime codesign -dv.
Preguntas
¿Qué son los entitlements en un Mac?
Son permisos escritos en la firma de código de una app. Indican si la app se ejecuta en App Sandbox, qué archivos, dispositivos y servicios de Apple puede usar y qué protecciones del hardened runtime desactiva.
¿Cómo veo los entitlements de una app?
Ejecuta codesign -d --entitlements - seguido de la ruta a la app en Terminal. Añade --xml para obtener la misma lista como property list.
¿Por qué la notarización rechazó mi app por get-task-allow?
Ese entitlement permite que se conecten depuradores, y Xcode lo añade a las compilaciones Debug. Archiva una compilación Release, o quítalo de los entitlements con los que firmas, y vuelve a enviar.
¿Una app de Mac necesita App Sandbox?
Solo para la Mac App Store, que lo exige. Una app que vendes tú mismo con Developer ID puede funcionar sin él, aunque aún necesita hardened runtime para la notarización.
¿Lo que pego se envía a algún sitio?
No. El texto se lee en esta página y no se envía nada.