LoginSignup
12

More than 5 years have passed since last update.

(Swift) Macbookでフタを閉じた瞬間、開いた瞬間にイベントを受け取る

Last updated at Posted at 2016-05-08

Macbookのフタ閉じた時のイベントって取れるの?

気になったので調べてみました。
簡単にコピペで使えるように、コードを貼ってみます。
ObjCのかたは、下の参考リンクのところからジャンプ先を見てみてください。

まだ実際、軽くしか動作確認できていないので、もしかしたらちゃんと動かないかもです。

ViewController.swift
import Cocoa

class ViewController: NSViewController {

    override func viewDidLoad() {
        super.viewDidLoad()

        // 通知を受け取ることができるように設定する
        let notificationCenter = NSWorkspace.sharedWorkspace().notificationCenter;
        notificationCenter.addObserver(
            self,
            selector: #selector(receiveSleepNote(_:)),
            name: NSWorkspaceWillSleepNotification,
            object: nil
        )
        notificationCenter.addObserver(
            self,
            selector: #selector(receiveWakeNote(_:)),
            name: NSWorkspaceDidWakeNotification,
            object: nil
        )
    }

    // スリープされた瞬間に通知を受け取る
    func receiveSleepNote(n:NSNotification) {
        print("receiveSleepNote: ", n.name)
    }

    // スリープ解除された瞬間に通知を受け取る
    func receiveWakeNote(n:NSNotification) {
        print("receiveWakeNote: ", n.name)
    }

}

参考URL

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
12