gpt4 book ai didi

cocoa - NSTimer 中的代码阻止自动 sleep

转载 作者:行者123 更新时间:2023-12-03 16:07:42 24 4
gpt4 key购买 nike

我的应用程序中运行着一个 NSTimer,它收集一些数据并定期将其发送到服务器。在生产中,计时器每隔几个小时就会触发一次。

我担心会干扰自动 sleep 。在测试中,定时器和 sleep 时间的某些组合完全阻止了自动 sleep ——显示器 sleep ,系统保持运行。将我的 NSTimer 设置为一分钟总是会停止它。

某些 Mac 应用程序因在运行时(或始终,如果安装了守护程序)干扰自动 sleep 而臭名昭著。哪些操作可以阻止系统休眠以及如何安全地运行定期任务?

最佳答案

NSLog() ,至少当它记录到 /var/log/system.log 时,可以防止空闲 sleep 。我使用 launchd 守护进程进行了测试,该守护进程将调用 NSLog(@"test")每分钟,系统 sleep 空闲时间为 1 分钟,并且系统从未进入休眠状态。通过注释掉 NSLog 行,系统会在 1 分钟后进入休眠状态。

这是only reference我发现其他人也遇到过这个问题。

关于cocoa - NSTimer 中的代码阻止自动 sleep ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/702022/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com