swift/ios在后台刷新应用数据

chr*_*hrx 9 background background-process ios swift

我正在编写一个iOS/Swift应用程序,它每隔X分钟从REST服务中读取数据并相应地更新UI.

现在我希望当应用程序放在后台时,从REST服务读取一个任务,每隔X分钟读取一次,如果刚读取的数据满足给定条件,则会显示一条通知,提示用户带来应用程序回到前台.

在我的搜索中,我读过在applicationDidEnterBackground活动期间,我应该开始执行任务beginBackgroundTaskWithExpirationHandler.

问题是,如果我已经正确理解,这允许最多10/15分钟,如果任务没有停止,应用程序终止endBackgroundUpdateTask,而我希望任务继续无限期地轮询服务(至少直到用户从应用程序的设置中禁用它)

我的问题是:

这种功能如何正常执行?是否存在一些解决此类问题的常见解决方案或最佳实践?

小智 6

使用iOS背景提取功能,您可以在其中指定最小背景提取间隔.但是,连续调用代码之间的实际间隔将由iOS框架决定.详情请访问此链接:http://code.tutsplus.com/tutorials/ios-7-sdk-working-with-background-fetch--mobile-20520

我在我的应用程序中使用这种方法,我认为这是一种首选方式.