【发布时间】:2018-08-28 08:45:10
【问题描述】:
我正在寻找在后台模式下获取数据的解决方案,即使应用程序被终止。 这个问题有很多教程和答案,但我的问题与其他问题不同。我在stackoverflow上没有找到任何合适的解决方案,所以发布了这个问题。
我有可以解释的场景。我正在使用存储事件日期、名称、时间、地址等的领域数据库。现在的问题是,我想编写一个在后台执行的代码,在此代码中我想获取所有事件数据并比较它们的日期与今天的日期。并根据这些天之间的剩余天数触发本地通知,以提醒用户特定事件还剩多少天。
我想在当地时间每天早上 8 点准确地调用这个后台获取方法。
由于与后台获取和实现混淆,我没有编写任何代码。有人知道如何实现吗?
我们将不胜感激。
【问题讨论】:
-
在一个非常简单的术语中,您不能在 iOS 中安排任何任务在特定时间下载数据,您可以做的最好的就是选择后台功能,但没有人可以保证您的应用程序获得有机会在特定时间下载数据。您也可以选择静默通知,但即使这样也和其他人一样不可靠:)
-
感谢您的帮助。当您考虑下载数据时,它不是正确的。我有本地领域数据库的数据。
-
实现静默推送通知
-
静默通知严重不可靠。在调试我的应用程序时,我让它们可靠地工作,但在发布版本中,静默推送之间需要几个小时。我与 Apple 的技术支持人员进行了交谈,他们的回答是无法保证何时会发送静默推送,或者是否会发送。
-
@PaulMarshal 您需要以不同的方式思考您的问题。要么在服务器上执行比较,然后通过提醒(考虑用户的时区)向用户发送正常推送,要么使用后台获取,并在运行时安排 8 点钟的本地通知。每次提取运行时,如果您有更多/新数据,您可以更新待处理的通知。
标签: ios swift xcode9.2 background-fetch