Swift和macOS:当应用程序在后台工作时 计时器会延迟工作

我有一个 macOS 应用程序,有计时器和每秒增加数量。每 60 秒我显示一个带有一些消息的通知。

我有一个 macOS 应用程序,有计时器和每秒增加数量。每 60 秒我显示一个带有一些消息的通知。

我发现我的 macOS Swift 应用程序运行有一些延迟,大约 10 分钟后开始睡觉(没有新的 A;让出现了)。

我找到了一些解决方案,像这样:

private func startTimer() {
    timer = Timer.scheduledTimer(
        timeInterval: 1.0,
        target: self,
        selector: #selector(timerTick),
        userInfo: nil,
        repeats: true
    )
    RunLoop.main.add(timer, forMode: RunLoopMode.commonModes)
}

但是这个命令并没有帮助我修复计时器后台运行的滞后:RunLoop.main.add(计时器,forMode:RunLoopMode.commonModes)

需要一些有经验的斯威夫特的家伙谁可以帮助我解决这个有趣的挑战。

非常感谢。

0

我打赌你正在运行App Nap。您确实可以控制告诉系统您的进程不应该通过NSProcessInfo与 App Nap 一起结束。

您也可以尝试禁用 App Napdefaults write <app domain name> NSAppSleepDisabled -bool YES...但不确定是否仍然有效(App Nap 是在 OS X 10.9 中引入的,因此xx年时间可能已禁用禁用功能...)

本站系公益性非盈利分享网址,本文来自用户投稿,不代表码文网立场,如若转载,请注明出处

(523)
使用密码的Windows7登录脚本
上一篇
如何向PrometheusGauge添加更多信息
下一篇

相关推荐

发表评论

登录 后才能评论

评论列表(69条)