AFNetworking 2.0支持后台任务吗?-iOS 7

AFNetworking 2.0支持后台任务吗?-iOS 7,ios,objective-c,ios7,afnetworking,afnetworking-2,Ios,Objective C,Ios7,Afnetworking,Afnetworking 2,我将Afnetworking 2.0库与NSURLSession一起使用 我在AFURLSessionManager中发现,他们使用默认会话配置会话,所以如果我需要在后台下载图像,那么我必须使用后台配置设置会话 因此,我必须为此更改AFNetworking库,或者在AFNetworking 2.0中是否有其他方法进行更改。来自: NSURLSession类支持应用程序挂起时的后台传输。后台传输仅由使用后台会话配置对象创建的会话提供(通过调用backgroundSessionConfigurati

我将Afnetworking 2.0库与NSURLSession一起使用

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

因此,我必须为此更改AFNetworking库,或者在AFNetworking 2.0中是否有其他方法进行更改。

来自:

NSURLSession类支持应用程序挂起时的后台传输。后台传输仅由使用后台会话配置对象创建的会话提供(通过调用
backgroundSessionConfiguration:
返回)

如果要执行此操作,必须将AFHTTPSessionManager配置为使用后台会话配置:

NSURLSessionConfiguration *configuration = [NSURLSessionConfiguration backgroundSessionConfiguration:@"com.myApp.backgroundDownloadSession"]
AFHTTPSessionManager *backgroundManager = [[AFHTTPSessionManager alloc] initWithSessionConfiguration:configuration];
AFNetworking将自己设置为代理。从NSURLSession文档:

[T] 该代表将被保留,直到该代表被发送
URLSession:didbecomeinvalidwitheror:
消息

因此,您的经理将在本次会议期间一直留任

两个旁注:

  • 您可能应该使用一个单独的
    AFHTTPSessionManager
    进行后台传输(大量下载等)。您不希望所有请求都被分配一个后台URL会话

  • 如果要在不使用AFNetworking的情况下检索响应,请注意后台会话标识符是什么(“我的示例代码中的com.myApp.backgroundDownloadSession”):

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


  • 你看了吗?@yasirmturk这个解决方案的iOS 8版本是什么
    ackgroundSessionConfiguration:
    实际上在iOS 8中已被弃用。很抱歉,我以为它是
    BackgroundSessionConfiguration with Identifier
    @yasirmturk没问题。