首页 > 解决方案 > 在后台获取时调用完整函数时,我什么时候需要使用“.noData”?

问题描述

如果您已设置后台获取任务以在 iOS 上运行,则在完成后,您需要completionHandler使用以下三个选项之一进行调用.newData.noData.failed。根据您选择哪一个以及您的任务如何成功,显然 iOS 决定了您的应用程序的后台提取运行的频率。

.newData如果一切顺利,这是明显的默认选项,并且.failed是明显的失败选项,但是呢.noData?如果 iOS 惩罚我试图获取过时的数据,我为什么要告诉 iOS 呢?如果这会影响后台作业的频率,我最好总是告诉 iOS 我获取的所有数据都是新的,以避免我的应用程序被迫运行后台作业的频率低于我在中定义的频率setMinimumBackgroundFetchInterval吗?

标签: iosswift

解决方案


根据您选择哪一个以及您的任务如何成功,显然 iOS 决定了您的应用程序的后台提取运行的频率。

这是一个错误的假设。评估的是您在调用完成处理程序之前使用的时间和精力。不要试图玩弄系统;只要快速、高效和诚实。


推荐阅读