我正在开发一个应用程序,它对服务器的请求可能会持续很长一段时间,想想10到30分钟。我认为,毫无疑问,用户将在请求执行期间进入后台,这是非常安全的。
我已经使用后台任务正常工作,但由于它们只给你3分钟,请求会快照;不是我的用例中允许的东西。
我已经阅读了后台模式以及可能使用下载和上传任务,但我的用例不符合其中任何一项。它是一个很大的JSON请求/响应。
我想到的一件事就是将JSON保存到文件中并自行发送文件。这应该符合NSURLSession支持的后台下载。
有没有人知道另一种方式?所以我不必改变请求/响应结构。
提前致谢!
答案 0 :(得分:1)
这种情况应该按照发送“作业”请求的方式处理,该请求基本上立即返回一个令牌,只是在服务器上安排/启动活动。然后,应用程序可以请求该令牌的结果,以确定作业是否完整并获取数据。
你不会在背景中检查,或者不会定期检查 - 你会检查应用程序何时打开或者可能使用后台刷新。
更好的方法是让服务器向用户/设备发送推送通知,可能是内容可用通知,因此应用程序在知道数据准备好之前不需要发出请求。