NSAppShellEventWindow Um NSAppShellEventWindow fornece uma janela de espaço reservado para o ícone do Dock associado a um aplicativo em área restrita (começando no OS X Yosemite). Para obter mais informações sobre sandbox, consulte Sandboxing no Cocoa.
Antes do OS X Yosemite, o ícone do Dock de um aplicativo em área restrita no nível do sistema de arquivos parecia opaco, indicando que o aplicativo estava impedido de acessar recursos específicos. Com a introdução do App Transparency no OS X Yosemite, esses aplicativos agora mostram o ícone do Dock como ativo.
Se um aplicativo incluir um NSAppShellEventWindow em seu pacote, o sistema mostrará o ícone do Dock do aplicativo como ativo quando ocorrer qualquer um dos seguintes eventos:
* A janela se torna chave em resposta a um clique do mouse ou outro evento de ativação.
* A janela exibe o conteúdo na tela chamando qualquer API Core Animation, incluindo CALayer, CAMediaTimingFunction e UIViewPropertyAnimator.
* A janela reproduz um alerta sonoro ou som.
Sem um NSAppShellEventWindow no pacote, esses mesmos eventos não fazem com que o ícone Dock do aplicativo apareça ativo.
Discussão O NSAppShellEventWindow fica oculto na interface do usuário e nunca aparece na tela – ele existe apenas para facilitar a interação entre o contêiner sandbox do aplicativo e o Dock.
Um aplicativo pode conter vários NSAppShellEventWindows. No entanto, apenas um de cada vez pode existir em um determinado contêiner de sandbox; um aplicativo não pode criar outra janela até fechar qualquer janela criada anteriormente.
Você pode criar e gerenciar NSAppShellEventWindows usando a API NSWorkspace.