AFNetworking 2.0支持后台任务吗?

我正在使用NSURLSession的Afnetworking 2.0库。

我发现在AFURLSessionManager他们配置会话与默认会话,所以如果我需要在后台下载图像,那么我必须设置会话与背景配置。

所以,我必须为此改变AFNetworking库,或者在AFNetworking 2.0中有任何其他方式。


从使用NSURLSession:

NSURLSession类支持后台传输,而您的应用程序被暂停。 后台传输仅由使用后台会话配置对象创建的会话提供(通过调用backgroundSessionConfiguration:返回backgroundSessionConfiguration:

如果你想这样做,你必须配置你的AFHTTPSessionManager使用后台会话配置:

NSURLSessionConfiguration *configuration = [NSURLSessionConfiguration backgroundSessionConfiguration:@"com.myApp.backgroundDownloadSession"]
AFHTTPSessionManager *backgroundManager = [[AFHTTPSessionManager alloc] initWithSessionConfiguration:configuration];

AFNetworking将自己定为代表。 从NSURLSession文档:

[T]他的委托将被保留,直到URLSession:didBecomeInvalidWithError:发送了URLSession:didBecomeInvalidWithError:消息

因此,您的经理将坚持这个会议的时间。

两面说明:

  • 您应该使用单独的AFHTTPSessionManager来进行后台传输(大量下载等)。您不希望字面上将所有请求分配给后台URL会话。

  • 如果你想在没有AFNetworking的情况下检索响应,请注意后台会话标识符是什么(在我的示例代码中是'com.myApp.backgroundDownloadSession'):

    新会话配置的标识符,适用于您的应用程序。 您的应用程序可以通过创建具有相同标识符的新后台会话来检索下载或上传响应。

  • 链接地址: http://www.djcxy.com/p/17401.html

    上一篇: Does AFNetworking 2.0 Supports Background task?

    下一篇: Possible to use git project AND see TFS work items in VS2013?