【发布时间】:2020-09-20 19:28:01
【问题描述】:
我想在 6 小时后触发计时器。但由于我的电脑处于睡眠模式,定时器在 6 小时后没有触发。我在 6 个多小时后登录计算机后 2 分钟触发它。即使用户处于注销或系统睡眠模式,是否可以触发计时器?
【问题讨论】:
-
您可以通过IOPMSchedulePowerEvent 安排机器从睡眠中唤醒、开机、进入睡眠或关机。它还取决于它是否是 MacBook Pro,因为 IIRC 如果盖子关闭,您将无法执行此操作。
-
您可以查看Fermata - Fermata 是一个小型 macOS 实用程序,可在某些情况下防止盖子关闭睡眠。
-
您可以阻止您的 Mac 与 NSActivityOptions 等一起睡觉。您的问题太笼统了,很难提供帮助。尝试使用我提供给您的信息,然后返回对您不起作用的代码,并对您要实现的目标进行更高级别的解释。
-
如果您根本不想阻止计算机进入睡眠状态,您可以设置计时器启动时间的时间戳,当计算机被唤醒时,立即运行预定的方法。见
didWakeNotification:developer.apple.com/documentation/appkit/nsworkspace/… -
这能回答你的问题吗? NSTimer continue during sleep mode
标签: objective-c macos cocoa nstimer