AFN 遇到Code 1004错误

现在大部分的iOS开发人员对于数据请求都是用了AFN。但是最近遇到了一个很坑的问题。

问题描述

公司的项目上线后,有用户反映登录不上账号。但是笔者反复检查自己的代码,但是在自己这边是可以的,完全没毛病。后让客服问了用户的手机型号以及操作系统( 6P ,iOS 9.35) 很幸运,公司一个小伙伴的手机条件和用户匹配。然后就是各种找问题。。。。。

用了抓包工具以及和后台配合,发现自己居然没有连接服务器,在Debug 模式下找到了问题。。 AFN的error信息如下:(坑爹啊,这个问题是时有时没有,而且就是再登录的时候才会出现。。。)


UserInfo={NSUnderlyingError=0x137d39380 {Error Domain=kCFErrorDomainCFNetwork Code=-1004 "(null)"
UserInfo={NSErrorPeerAddressKey={length = 16, capacity = 16, bytes = 0x100201bb341a9f540000000000000000},
_kCFStreamErrorCodeKey=-2200, _kCFStreamErrorDomainKey=4}}, NSErrorFailingURLStringKey=[FILTERED],
NSErrorFailingURLKey=[FILTERED], _kCFStreamErrorDomainKey=4,
_kCFStreamErrorCodeKey=-2200, NSLocalizedDescription=Could not connect to the server.}

一晚上的折腾,一直找资料,没有找到问题原因。。幸好第二天,找到了问题(万能的谷歌。。强大 开发必备)
原因是我们的服务器用了http2 协议 参考1 可以说苹果对于HTTP2 协议的支持还不太够(坑了),所以有时就会出现链接不到服务器。。
找到了问题,让我们的运维小伙伴把HTPP2协议改回到HTTP1.1协议,这问题就解决了 。。。。
解决问题链接:
解决问题
解决问题

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

推荐阅读更多精彩内容

  • error code(错误代码)=0是操作成功完成。error code(错误代码)=1是功能错误。error c...
    Heikki_阅读 3,426评论 1 9
  • error code(错误代码)=2000是无效的像素格式。error code(错误代码)=2001是指定的驱动...
    Heikki_阅读 1,839评论 0 4
  • 转载于:http://mrpeak.cn/blog/http2/ HTTP 2.0的那些事 在我们所处的互联网世界...
    柒黍阅读 2,375评论 0 8
  • 原文来自:http://www.cnblogs.com/Mike-zh/p/5167017.html 流程梳理 今...
    fe4a5edc73de阅读 1,544评论 1 5
  • 1.在开发的时候可以创建一个工具类,继承自我们的AFN中的请求管理者,再控制器中真正发请求的代码使用自己封装的工具...
    红楼那一场梦阅读 3,523评论 2 3