问题
I've managed to get the display to sleep immediately with
pmset displaysleepnow
in terminal, however for waking the display I've only found
pmset schedule wake "12/24/2009 00:00:00"
which fails to work if I try to schedule anything earlier than at least 10secs from now.
Is there any way to programmatically wake the display in Cocoa? Someone has suggested IOPMAssertionDeclareUserActivity but I couldn't find any examples on this so I am struggling.
I am using Swift by the way, but Objective C code is also welcome.
回答1:
Got it working with:
IOPMAssertionID assertionID;
IOPMAssertionDeclareUserActivity(CFSTR(""), kIOPMUserActiveLocal, &assertionID);
回答2:
Here is the answer in Swift 3.x:
var assertionID : IOPMAssertionID = 0
_ = IOPMAssertionDeclareUserActivity("" as CFString, kIOPMUserActiveLocal, &assertionID)
来源:https://stackoverflow.com/questions/26226026/programmatically-wake-display-on-osx