Simply open NSUserNotificationPrivate.xcodeproj
and run.
Have a look around AppDelegate.swift
to see what properties are being used on the NSUserNotification class
In the NSUserNotificationPrivate-Bridging-Header.h
(Foundation.framework class-dump header file) file, you will find other properties that can be used on the NSUserNotification class:
@property(copy) NSImage *_identityImage;
@property BOOL _clearable;
@property unsigned long long _badgeCount;
To set _identityImage
, or any other private property, call the instance method setValue
:
notification.setValue(NSImage(named: NSImage.Name(rawValue: "img")), forKey: "_identityImage")
notification.setValue(true, forKey: "_clearable")
notification.setValue(5, forKey: "_badgeCount")
The following properties are used to present a notification as shown in the image below:
_identityImage
_identityImageHasBorder
_ignoresDoNotDisturb
_lockscreenOnly
_poofsOnCancel
_alternateActionButtonTitles
_alwaysShowAlternateActionMenu
_clearable
In order for a notification to be able to have action buttons (buttons on the right hand side), the following key value pair must be added to Info.plist
:
Key: NSUserNotificationAlertStyle
Value: alert