###前提・実現したいこと
macOS用の常駐型アプリの開発を行っております。
macOS 10.13から機能追加された「画面のロック」の検知の仕方について調べておりますが、どうにもうまい解決策が見当たらずこちらに投稿させていただきました。
やりたいことは、「Appleメニュー」 > 「画面のロック」がクリックされたら、
そのイベントをアプリで検知してログに出力するということです。
アプリは「画面のロック」だけではなく、スリープやシャットダウン等も検知する必要がありますが、それらは以下のように"notificationCenter"を使って実現しております。
func applicationDidFinishLaunching(_ aNotification: Notification) { let theWorkspace:NSWorkspace = NSWorkspace.shared() theWorkspace.notificationCenter.addObserver(self, selector: #selector(self.catchNotification(x:)), name: NSNotification.Name.NSWorkspaceWillSleep, object: nil) } func catchNotification(x:Notification){ switch x.name { case NSNotification.Name.NSWorkspaceWillSleep //ここでログ出力処理 default:break } }
「画面のロック」の検知について、実現できるアプローチがありましたらご教授いただきたく。
よろしくお願いいたします。
###試したこと
上記、NSNotification.Nameについて調査しましたが、「画面のロック」を検知できるようなNSNotification.Nameは見当たりませんでした。
###補足情報(言語/FW/ツール等のバージョンなど)
現在の開発環境
macOS 10.13
Xcode 9.2
Swift 3
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。