仅在系统唤醒时触发计时器 (macOS)

Fire timer only when system is awake (macOS)

我正在开发一个可以进行网络调用的 mac 应用程序。我正在使用 Timer 每 15 分钟进行一次网络调用以刷新一些数据。我只希望定时器在用户使用系统时触发并进行调用(否则它只是在进行不必要的调用),也就是系统未处于睡眠状态时。我该怎么做?我读到 mach 有一个单调时钟,它只在系统唤醒时更新,但我不确定如何实现我的计时器以按预期运行。有没有办法确定系统是否唤醒?在此先感谢您的帮助。

NSWorkspace 中有 4 个通知可以用来暂停和恢复计时器