如果当 iOS 应用程序在后台时 NSTimer 不起作用,我怎样才能让我的应用程序定期唤醒?

发布于 2024-11-29 08:05:10 字数 103 浏览 2 评论 0原文

我注意到某些应用程序(例如 Skype)在后台运行。 我想让我的应用程序也在后台运行,每 1 秒醒来更新一些数据,然后再次进入睡眠状态。 我该怎么做? 我发现 NSTimer 不能在后台工作。

I have noticed that some apps e.g. Skype run in the background.
I would like to have my app run in the background also, waking up every 1 seconds to update some data and then going to sleep again.
How can I do this?
I gather that NSTimer's do not work in the background.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

┼── 2024-12-06 08:05:10

你不能。 IP 语音应用程序对此有一个特殊的例外,基本上系统为它们管理网络套接字,并在有数据时唤醒它们。没有办法用计时器做同样的事情。

顺便说一句,每秒唤醒你的应用程序,你的电池撑不了半天。

You can't. Voice-over-IP apps get a special exception for this, basically the system manages a network socket for them and wakes them up if there's data. There's no way to do the same with a timer.

By the way, waking your app every second, your battery wouldn't last half a day.

べ映画 2024-12-06 08:05:10

您需要使用推送通知将信息推送到应用程序(例如 Facebook 或 Skype 应用程序)。请参阅 Apple 提供的此文档,介绍如何使用推送通知。

但不是每一秒都会耗尽电池电量。除此之外,除非您运行 VoIP 应用程序,否则没有其他方法。

You would need to use push notifications to push information to the app (like the Facebook or Skype app). See this documentation from Apple on how to use push notifications.

Not every second though, that would drain the battery. Other than that, there isn't really a way unless you are running a VoIP app.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文