mac屏幕保护程序启动事件

tig*_*tig 13 c macos events objective-c screensaver

屏幕保护程序启动时是否有事件被触发?喜欢钥匙串锁定:

OSStatus keychain_locked(SecKeychainEvent keychainEvent, SecKeychainCallbackInfo *info, void *context){...}
Run Code Online (Sandbox Code Playgroud)

tig*_*tig 31

终于找到了 - 解决方案是使用NSDistributedNotificationCenter并观察以下事件

  • com.apple.screensaver.didstart
  • com.apple.screensaver.willstop
  • com.apple.screensaver.didstop
  • com.apple.screenIsLocked
  • com.apple.screenIsUnlocked

喜欢

[[NSDistributedNotificationCenter defaultCenter]
   addObserver:self
   selector:@selector(screensaverStarted:)
   name:@"com.apple.screensaver.didstart"
   object:nil];
Run Code Online (Sandbox Code Playgroud)