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

每次做项目的时候都会在网络请求时候测试接口的时候会出现一些不同的错误,而控制台打印的错误提示信息都是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"]);

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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。