Быстрый фрагмент с помощью swift:
NSDistributedNotificationCenter.defaultCenter().addObserver(
self,
selector: "screenIsLocked:",
name: "com.apple.screenIsLocked",
object: nil)
, где self - это наблюдатель, которого вы хотите зарегистрировать, селектор - это обработчик функции, name - имя уведомления, а объект - необязательный отправитель уведомления, где, если указано, только уведомления от этого отправителя передаются наблюдателю.
Также обратите внимание, что вы можете передать nil в качестве имени и получать целую кучу отправленных уведомлений, а не только указанное.
PS: есть много уведомлений, на которые вы можете подписаться, поэтому убедитесь, что вы знаете, к какому объекту они относятся, чтобы иметь возможность их использовать. Например, проверьте NSDistributedNotificationCenter , NSNotificationCenter и NSWorkspace уведомления.