AFN2.0到3.0的迁移

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了AFN2.0到3.0的迁移相关的知识,希望对你有一定的参考价值。

AFNetworking 1.0建立在NSURLConnection的基础API之上 ,
AFNetworking 2.0开始使用NSURLConnection的基础API ,以及较新基于NSURLSession的API的选项。
AFNetworking 3.0现已完全基于NSURLSession的API,这降低了维护的负担,同时支持苹果增强关于NSURLSession提供的任何额外功能。
由于Xcode 7中,NSURLConnection的API已经正式被苹果弃用。虽然该API将继续运行,但将没有新功能将被添加,并且苹果已经通知所有基于网络的功能,以充分使NSURLSession向前发展。
 
弃用的类:下面的类已从AFNetworking 3.0中废弃:
AFURLConnectionOperation
AFHTTPRequestOperation
AFHTTPRequestOperationManager
 
 
修改的类:下面的类包含基于NSURLConnection的API的内部实现。
他们已经被使用NSURLSession重构:
UIImageView+AFNetworking
UIWebView+AFNetworking
UIButton+AFNetworking
 
 

AFHTTPRequestOperationManager 核心代码

 
如果你以前使用 AFHTTPRequestOperationManager , 你将需要迁移去使用 AFHTTPSessionManager。
以下的类在两者过渡间并没有变化:
securityPolicy
requestSerializer
responseSerializer
 

AFNetworking 2.x

1
2
3
4
5
6
AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager];
[manager GET:@"请求的url" parameters:nil success:^(AFHTTPRequestOperation *operation, id responseObject) {
        NSLog(@"成功");
} failure:^(AFHTTPRequestOperation *operation, NSError*error) {
        NSLog(@"失败");
}];

AFNetworking 3.0

1
2
3
4
5
6
AFHTTPSessionManager *session = [AFHTTPSessionManager manager];
[session GET:@"请求的url" parameters:nil success:^(NSURLSessionDataTask *task, id responseObject) {
        NSLog(@"成功");
} failure:^(NSURLSessionDataTask *task, NSError *error) {
        NSLog(@"失败");        
}];
 

以上是关于AFN2.0到3.0的迁移的主要内容,如果未能解决你的问题,请参考以下文章

AFNetworking 3.0迁移指南

maven私库nexus2.3.0-04迁移升级到nexus-3.16.1-02(异机迁移备份)

thymeleaf 版本 2.14 到 3.0 的迁移未找到消息属性

从 2.2 .Net core 迁移到 3.0 Cors 错误

迁移到 Swift 3.0,构建问题

从.Net core 2.2迁移到.Net Core 3.0