ios - AFNetworking 2 AFHTTPRequestOperation 失败 block 从错误 userInfo 中剥离 key

标签 ios objective-c afnetworking afnetworking-2

我刚刚将我的应用程序从 AFNetworking 1.3.3 更新到 2.0.1,这需要重写用于子类化 AFHTTPClient 的网络客户端。

我将 AFHTTPClient 换成 AFHTTRequestOperationManager(我需要支持 iOS 6),除此之外一切正常:

服务器给我一个 JSON 错误字符串,其中包含错误的详细信息: error.userInfo.localizedRecoverySuggestion

但是,这个键 (localizedRecoverySuggestion) 不再在我的 NSError 对象中。

有人知道我如何访问它吗?或者 AFNetworking 的哪一部分正在剥离它?服务器仍在发送它,它只是没有像我的 POST: 等方法中的错误对象一样。

我已经在这上面花了一些时间,但我正在努力寻找问题所在。

最佳答案

经过一些调试后,数据似乎通过 AFNetworking 采用以下路径:

  1. AFURLConnectionManager 连接:didReceiveData:
  2. AFURLResponseSerialization validateResponse:data:error:

此时它被丢弃。

因此,作为快速修复,我只是在该方法中添加了一个额外的字典条目,其中 userInfo 的创建方式如下:

NSLocalizedRecoverySuggestionErrorKey: [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding]

这显然是一个完整的 hack,但如果有人可以提供有关如何正确完成此操作的指示,我将不胜感激。

关于ios - AFNetworking 2 AFHTTPRequestOperation 失败 block 从错误 userInfo 中剥离 key ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19574539/

相关文章:

ios - 用于嵌入式框架的 swift 中 Venmo iOS SDK 的导入语句

ios - 为什么我收到控制台警告 : [Process] kill() returned unexpected error 1 when I load a WKWebView in iOS13. 2?

objective-c - 恢复 iOS7 之前的 UINavigationController pushViewController 动画

ios - 使用 AFNetworking 加载图像 - 调整大小

ios - 如何管理具有 6 个实体和关系的大型 ManagedObjectModel?核心数据

ios:如何解决此内存泄漏警告

IOS- 与 Firebase 的通用链接和使用 location.href 的错误?

iphone - 我如何知道我单击了哪个按钮来启动程序内的操作?

ios - 如何将数据传递给以编程方式创建的 subview Controller

ios - 请求 addValue : forHTTPHeaderField gets the token but does not sends it to server in RestKit