ios - 在后台获取时调用完整函数时,我什么时候需要使用“.noData”?
问题描述
如果您已设置后台获取任务以在 iOS 上运行,则在完成后,您需要completionHandler
使用以下三个选项之一进行调用.newData
:.noData
或.failed
。根据您选择哪一个以及您的任务如何成功,显然 iOS 决定了您的应用程序的后台提取运行的频率。
.newData
如果一切顺利,这是明显的默认选项,并且.failed
是明显的失败选项,但是呢.noData
?如果 iOS 惩罚我试图获取过时的数据,我为什么要告诉 iOS 呢?如果这会影响后台作业的频率,我最好总是告诉 iOS 我获取的所有数据都是新的,以避免我的应用程序被迫运行后台作业的频率低于我在中定义的频率setMinimumBackgroundFetchInterval
吗?
解决方案
根据您选择哪一个以及您的任务如何成功,显然 iOS 决定了您的应用程序的后台提取运行的频率。
这是一个错误的假设。评估的是您在调用完成处理程序之前使用的时间和精力。不要试图玩弄系统;只要快速、高效和诚实。
推荐阅读
- tensorflow - 如何在 Conv2d 中指定依赖于样本的内核/过滤器?
- unity3d - 场景的 GameObjects 轻微出血问题
- python - 如何从python中的条件列表中选择一个随机单词
- node.js - Flutter JSON数据问题
- javascript - 使用 promise() 运行下一个函数不起作用 - PLAIN JAVASCRIPT
- python - Python 中的 scanf() 生产问题
- visual-studio - 在我所有的浏览器中 Windows 10 更新 2004 后奇怪的本地主机证书问题!我怎样才能解决这个问题?
- linux - 在 WSL 2 上使用 Ansible 通过 snap 安装 microk8s
- angular - 在 Ionic 5 中使用 Capacitor 实现 Google Analytics
- leaflet - 将一个多边形的数据复制粘贴到另一个,LEAFLET