当我们需要对服务器进行后台更新以响应位置管理器更新时,我试图了解应用的生命周期。
我们每隔1公里跟踪用户的位置,我们需要在每次更新到达我们时将位置报告回我们的服务器。如果我们发送失败,它会缓存在核心数据中,并在必要时包含在下一次更新中。
但是,我们不确定手术的生命周期。当更新到来时,应用程序从后台唤醒,但是当我们基于使用AFNetworking开始异步HTTP操作时,我们有点担心异步操作将如何表现为关于应用程序在中间再次处于非活动状态时的行为异步操作。
我知道我们可以通过使用[operation setShouldExecuteAsBackgroundTaskWithExpirationHandler]
作为AFNetworking的一部分来申请宽限时间,这应该可以正常工作。
但是,这会延续到未来的iOS更新吗?
感谢您对此工作原理的任何见解......
答案 0 :(得分:0)
据我所知,在didUpdateToLocation
方法中你可以执行任何操作,所以尝试不会有任何伤害。我还建议检查这个问题:
Understanding background tracking of user's location in iOS
除了iOS7之外,幸运的是,Apple's developer portal的背景和多任务将有显着改善:
采用新功能,使您的应用内容保持最新 iOS 7中的多任务API。新服务允许您的应用更新 信息并在后台下载内容而不会耗尽 不必要的电池。更新可能发生在机会主义 时间,并根据使用情况智能安排,所以你的应用程序 可以在用户需要时更新后台内容。
但它现在属于NDA,所以我建议登录开发者论坛并阅读相关内容。