The official way to put the hook at logging in / logging out is described in these Apple documents Customizing Login and Logout and Tech Note 2228. But I'm afraid that the log-out hook was no longer directly supported.
So, the second best way is to run a headless Cocoa app, and receive a notification from the system using NSWorkspace
, see the document and the list of available notifications.
To make a headless Cocoa app, you need to set an entry in its Info.plist
called LSUIElement
, see here. By setting LSUIElement
to be yes, the app don't appear in the dock, but perform various operation in the background.