以编程方式唤醒OSX上的显示

时间:2014-10-06 22:45:11

标签: objective-c macos swift wakeup

我设法让显示器立即进入

pmset displaysleepnow

在终端,但是为了唤醒显示器,我才发现

pmset schedule wake "12/24/2009 00:00:00" 

如果我尝试安排比现在至少10秒更早的任何事情,它就无法工作。

有没有办法以编程方式唤醒Cocoa中的显示?有人建议IOPMAssertionDeclareUserActivity,但我找不到任何关于此的例子,所以我很挣扎。

我顺便使用Swift,但也欢迎使用Objective C代码。

2 个答案:

答案 0 :(得分:6)

使用它:

  IOPMAssertionID assertionID; 
  IOPMAssertionDeclareUserActivity(CFSTR(""), kIOPMUserActiveLocal, &assertionID);

答案 1 :(得分:1)

以下是Swift 3.x中的答案:

var assertionID : IOPMAssertionID = 0
 _ = IOPMAssertionDeclareUserActivity("" as CFString, kIOPMUserActiveLocal, &assertionID)