現(xiàn)在大部分的iOS開(kāi)發(fā)人員對(duì)于數(shù)據(jù)請(qǐng)求都是用了AFN濒蒋。但是最近遇到了一個(gè)很坑的問(wèn)題嗤练。
問(wèn)題描述
公司的項(xiàng)目上線后扇调,有用戶反映登錄不上賬號(hào)矿咕。但是筆者反復(fù)檢查自己的代碼,但是在自己這邊是可以的狼钮,完全沒(méi)毛病碳柱。后讓客服問(wèn)了用戶的手機(jī)型號(hào)以及操作系統(tǒng)( 6P ,iOS 9.35) 很幸運(yùn),公司一個(gè)小伙伴的手機(jī)條件和用戶匹配熬芜。然后就是各種找問(wèn)題莲镣。。涎拉。瑞侮。。
用了抓包工具以及和后臺(tái)配合曼库,發(fā)現(xiàn)自己居然沒(méi)有連接服務(wù)器区岗,在Debug 模式下找到了問(wèn)題。毁枯。 AFN的error信息如下:(坑爹啊慈缔,這個(gè)問(wèn)題是時(shí)有時(shí)沒(méi)有,而且就是再登錄的時(shí)候才會(huì)出現(xiàn)种玛。藐鹤。。)
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.}
一晚上的折騰赂韵,一直找資料娱节,沒(méi)有找到問(wèn)題原因。祭示。幸好第二天肄满,找到了問(wèn)題(萬(wàn)能的谷歌。。強(qiáng)大 開(kāi)發(fā)必備)
原因是我們的服務(wù)器用了http2 協(xié)議 參考1 可以說(shuō)蘋(píng)果對(duì)于HTTP2 協(xié)議的支持還不太夠(坑了)稠歉,所以有時(shí)就會(huì)出現(xiàn)鏈接不到服務(wù)器掰担。。
找到了問(wèn)題怒炸,讓我們的運(yùn)維小伙伴把HTPP2協(xié)議改回到HTTP1.1協(xié)議带饱,這問(wèn)題就解決了 。阅羹。勺疼。。
解決問(wèn)題鏈接:
解決問(wèn)題
解決問(wèn)題