使用计时器在后台刷新应用程序
Posted
技术标签:
【中文标题】使用计时器在后台刷新应用程序【英文标题】:Using a timer to refresh the app in the background 【发布时间】:2018-01-10 17:35:42 【问题描述】:我正在考虑向我的应用程序添加一个计时器,以便我可以使用它定期在后台刷新数据,而不是通过 APNs 与服务器发送静默通知。
如果我这样做,Apple 会拒绝我的应用吗?
【问题讨论】:
【参考方案1】:在后台运行 8 秒后,应用程序将进入暂停状态,它会停止执行任何代码。另外,不保证应用不会被系统杀死。
它根本行不通。
对于使用带有静默通知的 APN 的定期更新,如果您发送的 APN 太多,Apple 很可能会禁止您发送。
在后台/挂起/死机时定期更新应用的方式是使用Background fetch
后台模式。
请注意:您无法决定执行后台提取的时间或频率。 ios 将根据每个用户的应用使用情况来决定。
Here 指向后台模式教程的链接,包括后台获取。
Here应用生命周期和状态。
【讨论】:
这行不通。应用程序将在 8 秒后转换到非活动状态。在非活动状态下,应用不会执行代码。 你知道多少APNs静默通知太多了吗?我正在考虑每分钟刷新一次应用程序.. 不,我没有。每个用户每分钟一次肯定太难了。我会说也许一天一次。 每分钟持续更新一个应用程序是太多了,而且肯定会让你的应用程序被拒绝。为什么要经常更新?以上是关于使用计时器在后台刷新应用程序的主要内容,如果未能解决你的问题,请参考以下文章
当应用程序处于后台并且网络连接丢失时,位置更新计时器不起作用?
ReactiveUI:如何实现定期刷新的ReactiveList