在我的应用程序中, 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/