Hello!
I've been successfully using StartCalendarInterval in Launch[Agent|Daemon] *.plists for years.
You know the deal: Mac is sleeping when CalendarInterval passes, then launchd runs the job when Mac is awoken. (This behavior is described at the bottom of an Apple doc from 2016 -- exactly how it worked before!)
Recently, behavior has changed: with the computer asleep, when the date/time of the CalendarInterval passes, macOS runs the job! Even when "sleeping".
However, it gets stranger: macOS will start a job when sleeping, but then suspend it in the middle.
I wrote a timestamped log to check this behavior: I see job start, pause in the middle, then resume hours later when a user wakes the computer.
This all makes me think that "sleep" on macOS in the past few years is now defined differently -- perhaps an Apple Silicon change? But I can't find documentation that covers this. Buried in a WWDC video, maybe?
Has anyone else seen this change in launchctl calendar scheduled jobs?
Selecting any option will automatically load the page