1

NSURLSession似乎是一个很棒的新 API。可悲的是,仍然缺乏文档。

我计划支持NSURLSession后台模式。我读到了,如果用户通过 Wifi 连接并且剩余电量充足,这些任务只会在 Apple 守护程序上下载。因此,如果我对一些任务进行排队,并且不满足上述条件,则该任务将一直等待,直到它们满足为止。但是如果用户打开应用程序并且数据丢失了怎么办?尽管缺少 wifi 或电池电量不足,挂起的任务会执行吗?我应该取消它们并将它们作为正在进行的数据任务启动吗?我知道该discretionary属性,但是一旦启动/恢复应用程序,在后台安排的任务会启动吗?

4

1 回答 1

2

您要么从后台恢复,要么重新开始。

如果从后台恢复,后台NSURLSession应该完成你排队的任务,只要你“保留/保留”它。我的经验是后台会话在前台工作得很好,它们只是有限的(例如没有数据任务)。

如果重新开始,您可以使用您使用的相同配置“重新连接”您的后台会话NSString,例如

NSURLSessionConfiguration config = 
 [NSURLSessionConfiguration backgroundSessionConfiguration:sameStringHere];

一旦“重新布线”,它应该继续滚动。

同意文档。

于 2014-01-20T19:40:29.160 回答