xcode - Mac 从 sleep 状态恢复时会触发什么事件?

标签 xcode macos cocoa events sleep

我正在 Mac 上的 Xcode 中开发一个应用程序,想知道当 Mac 从 sleep 状态恢复时触发的事件。 AwakeFromNib 似乎不起作用。

最佳答案

对于 swift 3:

func onWakeNote(note: NSNotification) {
    print("Received wake note: \(note.name)")
}

func onSleepNote(note: NSNotification) {
    print("Received sleep note: \(note.name)")
}

func fileNotifications() {
    NSWorkspace.shared().notificationCenter.addObserver(
        self, selector: #selector(onWakeNote(note:)),
        name: Notification.Name.NSWorkspaceDidWake, object: nil)

    NSWorkspace.shared().notificationCenter.addObserver(
        self, selector: #selector(onSleepNote(note:)),
        name: Notification.Name.NSWorkspaceWillSleep, object: nil)
}

对于 swift 4:

@objc func onWakeNote(note: NSNotification) {
    ...
}

@objc func onSleepNote(note: NSNotification) {
    ...
}

func fileNotifications() {
    NSWorkspace.shared.notificationCenter.addObserver(
        self, selector: #selector(onWakeNote(note:)),
        name: NSWorkspace.didWakeNotification, object: nil)

    NSWorkspace.shared.notificationCenter.addObserver(
        self, selector: #selector(onSleepNote(note:)),
        name: NSWorkspace.willSleepNotification, object: nil)
}

关于xcode - Mac 从 sleep 状态恢复时会触发什么事件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9247710/

相关文章:

c++ - 将值从 Xcode 中的运行脚本传递到编译

macos - NSOutlineView - 获取给定项目的 NSTableCellView

macos - Cocoa:仅带有图像的按钮的辅助功能(VoiceOver)

objective-c - NS面板: double animation

xcode - 开发者 ID 签名的 OS X 应用程序在启动时崩溃,代码签名无效

iphone - UITableViewCell 中的 UITextField

iphone - iOS UIScrollView 延迟加载

python - 尝试在 mac osx 上安装 geos 3.3.8 时出错

macos - 设置自动布局 NSSplitView 初始位置

macos - 如何实现文件日志记录以使日志不会无限制地增长?