iOS AFNetworking 打印從服務器返回的錯誤提示信息


每次做項目的時候都會在網絡請求時候測試接口的時候會出現一些不同的錯誤,而控制台打印的錯誤提示信息都是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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM