我制作了一个应用程序,可以将一堆照片上传到网络服务器。它通过重复的 html 调用,在操作队列中使用多个 AFNetworking 的 AFHTPRequestOperation 来实现。现在,用户退出应用程序,队列停止。但是,我想继续上传队列,直到完成,然后让应用程序像往常一样进入休眠状态。
我知道 iOS 使用 "beginBackgroundTaskWithExpirationHandler"提供了一个后台过期处理程序。我也知道 AFURLConnectionOperation 是 AFNetworking 中每个 HTTP 操作类的父类(super class),可以使用
- (void)setShouldExecuteAsBackgroundTaskWithExpirationHandlervoid (^)(void))handler
但是有什么方法可以通过操作队列来完成这项工作吗?如果我想上传,比如 10 张照片,设置每个操作的过期处理程序是否能正常工作?
如果有人对 AFNetworking 的后台任务提出任何意见,或者是否有人遇到与我相同的问题,我将不胜感激。
Best Answer-推荐答案 strong>
当应用程序进入后台时,操作系统将决定是完全停止您的应用程序还是给它一些时间来完成它正在做的事情。如果它希望您的应用程序停止,则会调用到期处理程序。如果发生这种情况,您应该尽快暂停所有任务并准备完全终止应用程序,因为这将在很短的时间内(最多 5 秒)发生。看看here .
关于iOS后台上传图片,我们在Stack Overflow上找到一个类似的问题:
https://stackoverflow.com/questions/13612974/
|