Ένα NSAppShellEventWindow παρέχει ένα παράθυρο κράτησης θέσης για το εικονίδιο Dock που συσχετίζεται με μια εφαρμογή σε περιβάλλον δοκιμών (ξεκινώντας από το OS X Yosemite). Για περισσότερες πληροφορίες σχετικά με το sandboxing, ανατρέξτε στο Sandboxing στο κακάο.
Πριν από το OS X Yosemite, το εικονίδιο Dock μιας εφαρμογής σε περιβάλλον δοκιμών σε επίπεδο συστήματος αρχείων φαινόταν αδιαφανές, υποδεικνύοντας ότι η εφαρμογή είχε αποκλειστεί από την πρόσβαση σε συγκεκριμένους πόρους. Με την εισαγωγή της Διαφάνειας Εφαρμογών στο OS X Yosemite, αυτές οι εφαρμογές εμφανίζουν πλέον το εικονίδιο Dock ως ενεργό.
Εάν μια εφαρμογή περιλαμβάνει ένα NSAppShellEventWindow στο πακέτο της, το σύστημα εμφανίζει το εικονίδιο Dock της εφαρμογής ως ενεργό όταν συμβαίνει κάποιο από τα ακόλουθα συμβάντα:
* Το παράθυρο γίνεται κλειδί ως απόκριση σε ένα κλικ του ποντικιού ή σε άλλο συμβάν ενεργοποίησης.
* Το παράθυρο εμφανίζει περιεχόμενο στην οθόνη καλώντας οποιοδήποτε Core Animation API, συμπεριλαμβανομένων αυτών των CALayer, CAMediaTimingFunction και UIViewPropertyAnimator.
* Το παράθυρο αναπαράγει μια ηχητική ειδοποίηση ή ήχο.
Χωρίς ένα NSAppShellEventWindow στη δέσμη, αυτά τα ίδια συμβάντα δεν ενεργοποιούν το εικονίδιο Dock της εφαρμογής για να εμφανίζεται ενεργό.
Συζήτηση
Το NSAppShellEventWindow είναι κρυμμένο από τη διεπαφή χρήστη και δεν εμφανίζεται ποτέ στην οθόνη — υπάρχει αποκλειστικά για να διευκολύνει την αλληλεπίδραση μεταξύ του κοντέινερ sandbox της εφαρμογής και του Dock.
Μια εφαρμογή μπορεί να περιέχει πολλά NSAppShellEventWindows. Ωστόσο, μόνο ένα κάθε φορά μπορεί να υπάρχει σε ένα δεδομένο δοχείο sandbox. μια εφαρμογή δεν μπορεί να δημιουργήσει άλλο παράθυρο μέχρι να κλείσει οποιοδήποτε παράθυρο που δημιουργήθηκε προηγουμένως.
Μπορείτε να δημιουργήσετε και να διαχειριστείτε το NSAppShellEventWindows χρησιμοποιώντας το API NSWorkspace.
Πνευματικά δικαιώματα © Γνώση Υπολογιστών Όλα τα δικαιώματα κατοχυρωμένα