NSAppShellEventWindow
Et NSAppShellEventWindow giver et pladsholdervindue for Dock-ikonet, der er knyttet til en app-sandboxed (startende i OS X Yosemite). For mere information om sandboxing, se Sandboxing in Cocoa.
Før OS X Yosemite virkede Dock-ikonet for en app sandboxed på filsystemniveau uigennemsigtigt, hvilket indikerer, at appen var blokeret fra at få adgang til specifikke ressourcer. Med introduktionen af App Transparency i OS X Yosemite viser disse apps nu deres Dock-ikon som aktiv.
Hvis en app inkluderer et NSAppShellEventWindow i sin pakke, viser systemet appens Dock-ikon som aktivt, når en af følgende hændelser opstår:
* Vinduet bliver nøglen som svar på et museklik eller anden aktiveringshændelse.
* Vinduet viser indhold på skærmen ved at kalde en hvilken som helst Core Animation API, inklusive dem fra CALayer, CAMediaTimingFunction og UIViewPropertyAnimator.
* Vinduet afspiller en hørbar alarm eller lyd.
Uden et NSAppShellEventWindow i bundtet udløser de samme hændelser ikke appens Dock-ikon til at virke aktivt.
Diskussion
NSAppShellEventWindow er skjult fra brugergrænsefladen og vises aldrig på skærmen - det eksisterer udelukkende for at lette interaktionen mellem appens sandkassebeholder og Dock.
En app kan indeholde flere NSAppShellEventWindows. Der kan dog kun eksistere en ad gangen i en given sandkassebeholder; en app kan ikke oprette et andet vindue, før det lukker et tidligere oprettet vindue.
Du kan oprette og administrere NSAppShellEventWindows ved hjælp af NSWorkspace API.