5

我已经设法让显示器立即进入睡眠状态

pmset displaysleepnow

在终端中,但是为了唤醒我只发现的显示

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

如果我尝试从现在起至少提前 10 秒安排任何事情,这将无法正常工作。

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

顺便说一下,我使用的是 Swift,但也欢迎使用 Objective C 代码。

4

2 回答 2

7

得到它的工作:

  IOPMAssertionID assertionID; 
  IOPMAssertionDeclareUserActivity(CFSTR(""), kIOPMUserActiveLocal, &assertionID);
于 2014-10-06T23:46:19.507 回答
2

这是 Swift 3.x 中的答案:

var assertionID : IOPMAssertionID = 0
 _ = IOPMAssertionDeclareUserActivity("" as CFString, kIOPMUserActiveLocal, &assertionID)
于 2017-02-22T04:48:46.110 回答