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年时间可能已禁用禁用功能...)

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

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

相关推荐

  • bank swift code查询一个实用的指南

    Bank Swift Code查询是指从银行的数据库中检索特定银行的SWIFT代码,这些代码用于在银行之间传输资金。代码如下:…

    2023-06-01 09:26:47
    0 23 51
  • Case code:使用 switch、case和fallthrough的 Swift示例代码

    关于Case code的问题,在swift sample code中经常遇到,在下面的代码示例中,我不明白为什么“值 7”被打印而不是“默认”。情况 7,即 x = 7 不满足,因为 x = 6,所以为什么“值 7”被打印而不是被跳过和执行下降到默认?…

    2022-12-27 13:11:00
    0 77 31
  • Environmental:SwiftUI:将环境对象与Xcode 12/iOS14一起使用 (->如何/在环境中放置对象)

    关于Environmental的问题,在environmental objects中经常遇到,在编程我的第一个 iOS 应用程序的过程中,我遇到了一个新的问题,我无法找到到目前为止的解决方案:我想使用一个环境对象将信息传递给各种视图。…

    2022-12-17 05:49:38
    0 91 20
  • SwiftUI:ForEach筛选器布尔值

    我正在与 ForEach 拼命尝试只显示具有值 true 的内容。无论我尝试什么,都会显示 false。现在空气出来了,我认为它是如此简单,我只是看不到它。这里是一段代码,它应该适用于:…

    2022-11-11 15:11:59
    0 45 97
  • cad有ios版本吗iOS 版本有哪些?

    CAD有iOS版本,但不是官方发布的。目前,第三方开发者已经开发了一些CAD应用程序,可以在iOS设备上使用。这些应用程序的代码如下:…

    2023-04-30 13:13:34
    0 93 86
  • ios与pc互传文件:如何在iOS设备和PC之间互传文件

    AirDrop是Apple公司推出的一种无线文件传输服务,它可以让用户在不同的设备之间快速传输文件,而不需要使用任何线缆或USB设备。…

    2023-10-04 10:32:17
    0 26 42
  • android折线图控件//github.com/zhaojun1998/markdown_photos/blob/master

    Android折线图控件是一种可以将数据可视化的控件,可以用来展示数据之间的关系。它可以帮助我们更好地理解数据,并且可以通过折线图更直观地展示出数据之间的趋势。…

    2023-04-15 11:23:33
    0 95 79
  • android socket聊天实现实时通信的利器

    Android Socket聊天是一种使用Socket连接来实现客户端和服务器之间的即时通信的方式。它可以实现在客户端和服务器之间的双向通信,以便客户端可以发送消息到服务器,而服务器也可以将消息发送到客户端。…

    2023-11-06 13:18:32
    0 50 67

发表评论

登录 后才能评论

评论列表(4条)