NSAppShellEventWindow
Un NSAppShellEventWindow fournit une fenêtre d'espace réservé pour l'icône du Dock associée à une application en bac à sable (à partir de OS X Yosemite). Pour plus d’informations sur le sandboxing, consultez Sandboxing dans Cocoa.
Avant OS X Yosemite, l'icône Dock d'une application mise en sandbox au niveau du système de fichiers apparaissait opaque, indiquant que l'application ne pouvait pas accéder à des ressources spécifiques. Avec l'introduction d'App Transparency dans OS X Yosemite, ces applications affichent désormais leur icône Dock comme active.
Si une application inclut un NSAppShellEventWindow dans son bundle, le système affiche l'icône Dock de l'application comme active lorsque l'un des événements suivants se produit :
* La fenêtre devient clé en réponse à un clic de souris ou à un autre événement d'activation.
* La fenêtre affiche le contenu à l'écran en appelant n'importe quelle API Core Animation, y compris celles de CALayer, CAMediaTimingFunction et UIViewPropertyAnimator.
* La fenêtre émet une alerte sonore ou un son.
Sans NSAppShellEventWindow dans le bundle, ces mêmes événements ne déclenchent pas l'apparition de l'icône Dock de l'application.
Discussion
NSAppShellEventWindow est masqué de l'interface utilisateur et n'apparaît jamais à l'écran :il existe uniquement pour faciliter l'interaction entre le conteneur sandbox de l'application et le Dock.
Une application peut contenir plusieurs NSAppShellEventWindows. Cependant, un seul à la fois peut exister dans un conteneur sandbox donné ; une application ne peut pas créer une autre fenêtre tant qu'elle n'a pas fermé une fenêtre créée précédemment.
Vous pouvez créer et gérer NSAppShellEventWindows à l'aide de l'API NSWorkspace.
|