我得到「NSURLErrorDomain代碼= -1004」與Alamofire API調用, 但只有幾秒鐘錯誤後應用程序啓動(或拍了休息幾分鐘,而應用程序的打開,然後撥打電話)NSURLErrorDomain代碼= -1004幾秒鐘後,應用程序啓動
如果我嘗試幾秒鐘後進行相同的調用,一切工作正常。 我找遍了所有的堆棧溢出的問題,並檢查以下所有可能的原因:
- 與Internet連接沒有問題
- 「應用交通運輸安全設置」是正確的,服務器的使用HTTPS(我也試過「NSAllowsArbitraryLoads =真「但這並沒有幫助)
- API的工作正常
我的直覺是,讓網絡設置需要幾秒鐘,當我提出一個API調用的完成之前,它只是立即失敗。或..我在背景中使用WebSocket可能是相關的?
FAILURE:錯誤域= NSURLErrorDomain代碼= -1004「無法連接到服務器。」 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 =無法連接到服務器。}
任何建議?
修訂
研究發現,應用程序,使得在啓動4個請求,以及1或2其中隨機失敗,我檢查Nginx的訪問和錯誤日志,有沒有日誌失敗的電話都沒有。
我有這個確切的問題,因爲我將我的網絡庫從AFNetworking 2.x升級到3.x.如果您想出解決方案,請告訴我。到目前爲止,我還確認了SSL協商正在發生,這表明「無法連接到服務器」並不是真正的原因。我也嘗試關閉ATS和證書鎖定。所有事情在一分鐘或兩分鐘後開始工作,但前幾個請求失敗。 –
有沒有人最終發現了什麼錯誤?我有同樣的問題... :( –
@BartoszHernas,你運行的是什麼版本的nginx?我們在這裏與nginx 1.10,iOS 9.3.1使用HTTP/2和TLS 1.2相同的問題。 /1.1。我們可以在Wireshark看到應用只連接一次,這是成功的,但第一個請求失敗。 –