Una NSAppShellEventWindow proporciona una ventana de marcador de posición para el icono del Dock asociado con una aplicación en el espacio aislado (a partir de OS X Yosemite). Para obtener más información sobre el sandboxing, consulte Sandboxing en Cocoa.
Antes de OS X Yosemite, el icono del Dock de una aplicación protegida en el nivel del sistema de archivos aparecía opaco, lo que indicaba que la aplicación no podía acceder a recursos específicos. Con la introducción de App Transparency en OS X Yosemite, estas aplicaciones ahora muestran su ícono Dock como activo.
Si una aplicación incluye NSAppShellEventWindow en su paquete, el sistema muestra el icono del Dock de la aplicación como activo cuando ocurre cualquiera de los siguientes eventos:
* La ventana se vuelve clave en respuesta a un clic del mouse u otro evento de activación.
* La ventana muestra contenido en pantalla llamando a cualquier API Core Animation, incluidas las de CALayer, CAMediaTimingFunction y UIViewPropertyAnimator.
* La ventana reproduce una alerta o sonido audible.
Sin un NSAppShellEventWindow en el paquete, estos mismos eventos no hacen que el icono del Dock de la aplicación aparezca activo.
Discusión
NSAppShellEventWindow está oculta en la interfaz de usuario y nunca aparece en pantalla; existe únicamente para facilitar la interacción entre el contenedor sandbox de la aplicación y el Dock.
Una aplicación puede contener varios NSAppShellEventWindows. Sin embargo, sólo puede existir uno a la vez en un contenedor sandbox determinado; una aplicación no puede crear otra ventana hasta que cierre cualquier ventana creada previamente.
Puede crear y administrar NSAppShellEventWindows utilizando la API NSWorkspace.