ios - 是否适合用于后台获取?

标签 ios swift background-fetch

在我的应用程序中, Root View Controller 调用多个 API 来获取数据,然后将其显示在 Collection View 中。

我可以在这里使用后台获取来提前获取API数据,以便当用户启动应用程序时,内容已经可用并存储在数据库中吗?

如果由于某种原因不可用(假设后台获取时间已过期或尚未触发),那么我无论如何都可以从 API 获取它们。

最佳答案

是的,这是应用后台提取的情况。

直到并包括 iOS12,使用 application(_:performFetchWithCompletionHandler:) AppDelegate 类中的方法。此代码将在 iOS 根据用户使用应用程序的方式确定它应该运行时运行。

您可能需要从应用程序委托(delegate)中获取对相关 View Controller 的引用并调用您需要的方法。


iOS13及以上版本,此方法替换为BGAppRefreshTask .

这些任务必须在应用启动时注册,使用 BGTaskScheduler .


对于这两种方法,您都必须在应用程序的授权中启用获取背景模式。

关于ios - 是否适合用于后台获取?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59140446/

相关文章:

ios - 如何在定时器选择器上传递参数

android - 是否可以在不使用任何第三方库的情况下在 phonegap 中推送通知?

SwiftUI - @State 属性未更新

ios - 即使应用程序未在后台运行,如何使 iOS 应用程序执行一些代码?

ios - 正确使用后台获取完成处理程序

iOS GPS 跟踪应用程序在后台关闭

java - 您如何在 Android Pay 或 Google 电子钱包中存储 QR 码

swift - 如何获取/Users/Shared/的 URL

ios - 从点云创建网格

ios - 即使应用程序处于后台或终止,我如何执行接收远程通知的操作?