NSUserNotificationCenter class delivers user notifications to the user from applications or helper applications.
- macOS 10.8+
When a user notification’s delivery date has been reached, or it is manually delivered, the notification center may display the notification to the user. The user notification center reserves the right to decide if a delivered user notification is presented to the user. For example, it may suppress the notification if the application is already frontmost (the delegate can override this action). The application can check the result of this decision by examining the
isPresented property of a delivered user notification.
NSUserNotification instances the
NSUserNotificationCenter are tracking will be in one of two states: scheduled or delivered. A scheduled user notification has a
deliveryDate. On that delivery date, the notification will move from being scheduled to being delivered. Note that the user notification may be displayed later than the delivery date depending on a number of factors.
The application and the user notification center are both ultimately subject to the user’s preferences. If the user decides to hide all alerts from your application, the
presented property will still behave as above, but the user will not see any animation or hear any sound.
NSUserNotificationCenterDelegate provides more information about the delivered user notification and allows forcing the display of a user notification even if the application is frontmost.
NSUserNotificationCenter class and the
NSUserNotification class are both thread safe.