iOS 7 - 每24小时更新一次数据

时间:2013-12-04 09:38:26

标签: objective-c ios7

我正在创建一个需要每天(午夜)检查一次数据的应用。我知道iOS7中有一个后台获取模式,但据我所知,没有办法强制它在给定的时间间隔内更新。有没有办法做到这一点,仍然通过Appstore审查?

感谢您提出任何建议。

2 个答案:

答案 0 :(得分:6)

没有真正的方法可以做到这一点,因为它要求你在后台运行应用程序。后台运行模式仅限于音频,VOIP,位置和附件类型的应用程序。

您可以做的只是在用户启动应用时检查您上次更新应用中的数据的时间。这样,您只会在用户启动应用程序时更新数据,并且仅在用户真正使用该应用程序时才使用数据。

后台获取仅在用户经常启动您的应用程序时才有效,iOS将允许您应用程序进行后台获取。 iOS将决定何时允许应用程序进行后台刷新,并且您对间隔的影响很小。

  

UIApplicationBackgroundFetchIntervalMinimum

     

系统支持的最小fetchinterval。

答案 1 :(得分:3)

也许它并不是您所期望的完全答案,但在iOS 7中,有一项功能允许您每隔一段时间获取数据。 在这种情况下,iOS会根据您的应用使用情况智能地安排后台获取事件,这有助于您节省电池寿命。所以这不会每24小时工作,但我认为你可以读取数据,如果它已经更新,刷新应用程序,如果不忽略它。 在你的Xcode 5中 - >目标 - >功能打开背景模式(后台获取)。 在应用程序中:didFinishLaunchingWithOptions添加:

[[UIApplication sharedApplication] setMinimumBackgroundFetchInterval:UIApplicationBackgroundFetchIntervalMinimum];

这是一个将被称为的方法:

- (void)application:(UIApplication *)application performFetchWithCompletionHandler:(void (^)(UIBackgroundFetchResult))completionHandler
{
}