我爱编程IOS

AFNetworking 打印从服务器返回的错误提示信息

2018-01-12  本文已影响0人  开心就好2008

每次做项目的时候都会在网络请求时候测试接口的时候会出现一些不同的错误,而控制台打印的错误提示信息都是data类型,看不出提示的错误的信息是什么。后面经过一些查阅发现其实是可以把这个转变为string的类型,这样就可以很明了的知道是什么错误。下面就来看看如何修改

(1)找到AFNetWorking的AFURLResponseSerialization.m 文件

(2)加上这句 

#ifdef DEBUG

NSString *constAFNetworkingOperationFailingURLResponseStringErrorKey =@"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"]);

 } 这样以后请求数据返回的错误提示就会以字符串的行打印出来, 一看就知道是什么错误了。。。。

上一篇下一篇

猜你喜欢

热点阅读