AFNetworking升級至3.1.0後,原有的方法報錯解決辦法。
阿新 • • 發佈:2019-02-01
為了配合蘋果官方的ipv6的事,有很多開發人員都把AFNetworking升級了(網路請求自己公司做封裝的除外),但是升級後報錯一堆。怎麼辦?我的笨辦法是:一個一個修改。
1.首先:沒有了AFHTTPRequestOperationManager這個類,被AFHTTPSessionManager所代替。所以把專案中:
AFHTTPRequestOperationManager換成AFHTTPSessionManager
2.其次需要改動:
原有的post請求:
[manager POST:你的介面 parameters:你傳的引數 success:^(AFHTTPRequestOperation *operation , id responseObject) {
} failure:^(AFHTTPRequestOperation *operation, NSError *error) {
}];
改為:
[manager POST:你的介面 parameters:你傳的引數 progress:^(NSProgress * _Nonnull uploadProgress) {
//這裡是關於讀取進度的
} success:^(NSURLSessionDataTask * _Nonnull task, id _Nullable responseObject) {
//這裡是你請求的資料
} failure:^(NSURLSessionDataTask * _Nullable task, NSError * _Nonnull error) {
//請求失敗
}];
原有的get請求:
[manager GET:nil parameters:nil progress:^(NSProgress * _Nonnull downloadProgress) {
} success:^(NSURLSessionDataTask * _Nonnull task, id _Nullable responseObject) {
} failure:^(NSURLSessionDataTask * _Nullable task, NSError * _Nonnull error) {
}];
改為:
[manager GET:nil parameters:nil success:^(AFHTTPRequestOperation *operation, id responseObject) {
} failure:^(AFHTTPRequestOperation *operation, NSError *error) {
}];