ios - 背景获取 - 概念/理解

标签 ios background-process

我正在开发一个应用程序,需要大约每 60 分钟获取一次数据,我认为后台获取非常适合。我开发了一个应用程序,当在 xCode 中运行时,我模拟后台提取按预期工作,但在设备上运行时似乎不起作用。我还下载了几个演示应用程序,所有这些应用程序都可以在模拟器中运行,但不能在设备上运行,我正在增加角标(Badge)计数。

这个问题与后台获取的概念更相关,它适合我的需要吗?

  1. 后台提取在后台和屏幕锁定时是否有效?
  2. 当应用程序位于前台时,后台获取不起作用,这是正确的吗?如果是,我将实现 NSTimer。当在前台但设备锁定屏幕时会发生什么?
  3. 后台根据应用程序使用情况调整其更新周期,最初我将 setMinimumBackgroundFetchInterval 设置为 60,但即使设置为 5,后台提取也不会在设备上运行
  4. 应用程序设置正确,并显示已启用/允许后台提取。

最佳答案

只要屏幕锁定,您的应用程序就会进入后台状态(即使应用程序位于前台)。每当调用 *- (void)applicationDidEnterBackground:(UIApplication )application 时,都有可能发生后台获取,具体取决于操作系统的空闲程度。获取间隔并不总是准确的。在间隔的第 60 分钟内,如果操作系统不空闲,则不会进行提取。确保您的应用位于设备后台,并使用 UIApplicationBackgroundFetchIntervalMinimum 而不是指定 60 分钟的间隔。获取更有可能发生。

关于ios - 背景获取 - 概念/理解,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25108745/

相关文章:

ios - xcodebuild 返回代码签名错误

c# - 我可以在我的应用程序不运行的情况下定期在 WP8 中运行后台任务吗?

java - 在Linux服务器上启动netty应用程序

ios - 像在 Facebook iOS 7 应用程序中一样获得漂亮的深色 UIToolbar 模糊

ios - 如何在弹出窗口内的 UITableView 内导航

php - Yii Php 执行异步后台请求

javascript - 谷歌浏览器扩展 : how to inject script immediately after page reload?

python - Django - 如何设置异步长时间后台数据处理任务?

ios - 让 Red5Pro Live Streaming 在 iOS 上正常运行

ios - 无法将 barbuttonitem 添加到导航 Controller