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

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

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

相关推荐

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

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

    2023-06-01 09:26:47
    0 97 82
  • 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 31 81
  • Environmental:SwiftUI:将环境对象与Xcode 12/iOS14一起使用 (->如何/在环境中放置对象)

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

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

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

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

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

    2023-04-30 13:13:34
    0 22 94
  • android折线图控件//github.com/zhaojun1998/markdown_photos/blob/master

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

    2023-04-15 11:23:33
    0 65 11
  • iosc语言编程软件:使用iOS编程软件创建一个强大的应用程序

    iOSC语言编程软件是一种用于开发iOS应用的语言,它由Objective-C和Swift组成。Objective-C是一种面向对象的编程语言,它提供了一个可扩展的框架,可以用来开发iOS应用。Swift是一种新的编程语言,它提供了一种简单、快速的方式来开发iOS应用。…

    2023-04-25 09:24:28
    0 85 93
  • android service 通信:实现 Android Service 之间的通信

    Android Service 通信是指在 Android 应用程序中,Service 和 Activity 之间的通信。Android Service 是一种特殊的组件,它可以在后台运行,不需要用户交互就能够完成其工作。这样的服务可以在后台播放音乐、下载数据、定时执行任务等等。…

    2023-05-03 03:32:44
    0 22 58

发表评论

登录 后才能评论

评论列表(76条)