I want to wake up mac osx10.14 with oc code

Before mac osx 10.14 I wake up by CGEventPost to post a KeyboardEvent, in osx10.14 will now pop up Accessibility access reminder, this is not what we want, I tried the following method, is my method wrong or there are other ways?


we can use the root privilege.


1.

NSCalendarDate *timeIntervalSinceNow = [NSCalendarDate dateWithTimeIntervalSinceNow:40];

IOReturn returnCode = IOPMSchedulePowerEvent ((CFDateRef)timeIntervalSinceNow, NULL, CFSTR(kIOPMAutoWakeOrPowerOn));


2.

void sendWakeEvent() {

ProcessSerialNumber psn = { 0, kSystemProcess };

NSAppleEventDescriptor* target = [NSAppleEventDescriptor descriptorWithDescriptorType:typeProcessSerialNumber bytes:&psn length:sizeof(psn)];

NSAppleEventDescriptor* event = [NSAppleEventDescriptor appleEventWithEventClass:kCoreEventClass eventID:kAEWakeUpEvent targetDescriptor:target returnID:AEReturnID(kAutoGenerateReturnID) transactionID:AETransactionID(kAnyTransactionID)];


NSError * error = nil;

[event sendEventWithOptions:NSAppleEventSendNoReply timeout:kAEDefaultTimeout error:&error];

ZRLogString([error description]);

}