当ios 8+ app被用户背景时,如何处理数据的漫长等待时间

时间:2015-06-03 05:15:09

标签: ios swift

我花了很多时间查看选项,但仍然没有100%明确,所以想要寻求一些指导。

情景是这样的:

  • 用户通过iOS应用向我们的后端服务器提交一些数据

  • 根据数据,第一个(唯一的)请求可能需要很长时间。比方说,10分钟以上(我知道这令人震惊)

  • 当有效负载最终变为可用并通过HTTPS请求返回时,我们希望使用它在后台更新UI。

这里假设用户在等待数据到达时已移至另一个应用程序(并且还假设他们没有杀死该应用程序)。

是否可以通过iOS 8+ API处理此问题而不会在后台使用Apple强行/杀死该应用程序?

我们可以使用后台任务吗?

HTTPS

在测试一些代码块之前,我们只想看看是否有人(a)已经完成此操作和/或(b)我们是否朝着正确的方向前进

感谢您的帮助。

2 个答案:

答案 0 :(得分:0)

您应该重新考虑您的网络服务,这可能需要将近10分钟的时间来处理。如果您无法优化服务器任务处理时间,那么下面的一个想法可能对您有所帮助。

  • 您可以将一个请求划分为多个请求,以减少处理时间并以更快的方式获得响应。

  • 您的服务器应在完成任务后向应用程序发送通知。所以app会知道任务已经完成。

我不确定为什么你在后台模式下尝试更新UI时,当用户从后台模式进入前台模式时,你可能会尝试更新UI。

请查看显示为长时间运行任务示例的this link。它使用空白音频播放来保持应用程序的后台任务。

答案 1 :(得分:0)

您可以使用“后台获取”功能。 出于学习目的,您可以参考此link