每次做項目的時候都會在網絡請求時候測試接口的時候會出現一些不同的錯誤,而控制台打印的錯誤提示信息都是data類型,看不出提示的錯誤的信息是什么。后面經過一些查閱發現其實是可以把這個轉變為string的類型,這樣就可以很明了的知道是什么錯誤。下面就來看看如何修改
(1)找到AFNetWorking的AFURLResponseSerialization.m 文件
(2)加上這句
#ifdef DEBUG NSString * const AFNetworkingOperationFailingURLResponseStringErrorKey = @"com.alamofire.serialization.response.error.string"; #endif
如圖
(3)找到這句
if (data) { mutableUserInfo[AFNetworkingOperationFailingURLResponseDataErrorKey] = data; }
替換成 (總共有兩個地方要換)
if (data) { mutableUserInfo[AFNetworkingOperationFailingURLResponseDataErrorKey] = data; #ifdef DEBUG mutableUserInfo[AFNetworkingOperationFailingURLResponseStringErrorKey] = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding]; #endif }
(4)在網絡請求的方法的 failure:^(NSURLSessionDataTask * _Nullable task, NSError * _Nonnull error) {// 在這里添加
NSLog(@"error ==%@", [error userInfo][@"com.alamofire.serialization.response.error.string"]);
} 這樣以后請求數據返回的錯誤提示就會以字符串的行打印出來, 一看就知道是什么錯誤了。。。。
有興趣的可以加入QQ群:457236811