2015-11-19 97 views
10

我正在將我的項目從AFNetworking轉移到Alamofire。真的很喜歡這個項目。但是,我在嘗試發出GET請求時收到此錯誤。Alamofire請求錯誤:NSURLErrorDomain代碼-1005網絡連接丟失

下面是一些示例代碼:

class func listCloudCredntials(onlyNew onlyNew: Bool = true, includePending: Bool = true) -> Request { 

    let parameters: [String: AnyObject] = includePending ? ["include_pending": "true"] : [:] 

    let urlString = "https://myapp-staging.herokuapp.com/api/1/credntials" 

    let token = SSKeychain.storedToken() 

    let headers: [String: String] = ["Authorization": "Bearer \(token)"] 

    return Alamofire.request(.GET, urlString, parameters: parameters, encoding: .JSON, headers: headers) 
} 

然後,在我的VC:

listCloudCredntials().validate().responseJSON() { 
    (response: Response<AnyObject, NSError>) in 

    switch response.result { 
    case .Success(let result): 
     printCR("success: \(result)") 

    case .Failure(let error): 
     printCR("error: \(error)") 
    } 
} 

這裏是我遇到的錯誤:

Error Domain=NSURLErrorDomain Code=-1005 "The network connection was lost." UserInfo={NSUnderlyingError=0x14e9c77f0 {Error Domain=kCFErrorDomainCFNetwork Code=-1005 "(null)" UserInfo={_kCFStreamErrorCodeKey=-4, _kCFStreamErrorDomainKey=4}}, NSErrorFailingURLStringKey= https://myapp-staging.herokuapp.com/api/1/credntials , NSErrorFailingURLKey= https://myapp-staging.herokuapp.com/api/1/credntials , _kCFStreamErrorDomainKey=4, _kCFStreamErrorCodeKey=-4, NSLocalizedDescription=The network connection was lost.}

我試着運行在iOS模擬器上使用1OS 8.4和iOS 9.1,以及運行iOS 9.1的iPhone 6S。

我在做什麼錯?

-------- 編輯 --------

爲了澄清,此功能工作得很好用AFNetworking。

這裏的debugprint(請求)的結果(這是一個GET請求):

$ curl -i \ 
-H "Authorization: Bearer some-JWT-Security-Token" \ 
-H "Content-Type: application/json" \ 
-H "Accept-Language: en-US;q=1.0" \ 
-H "Accept-Encoding: gzip;q=1.0,compress;q=0.5" \ 
-H "User-Agent: Company/com.Company.AppName (1081; OS Version 9.2 (Build 13C75))" \ 
-d "{\"include_pending\":\"true\"}" \ 
"https://appname-staging.herokuapp.com/api/1/credntials" 

我不得不改變捲曲-i捲曲-X爲了得到該捲曲成功返回。

這是我需要在沒有問題的應用程序中進行的另一個調用。

curl -i \ 
-X POST \ 
-H "Content-Type: application/json" \ 
-H "Accept-Language: en-US;q=1.0" \ 
-H "Accept-Encoding: gzip;q=1.0,compress;q=0.5" \ 
-H "User-Agent: Company/com.Company.AppName (1081; OS Version 9.2 (Build 13C75))" \ 
-d "{\"token\":\"UserSessionTokenString\"}" \ 
"https://appname-staging.herokuapp.com/api/1/authenticate/user" 

難道這是GET與POST的東西嗎?

+0

可能重複的[錯誤域= NSURLErrorDomain代碼= -1005「網絡連接丟失。」](http://stackoverflow.com/questions/25372318/error-domain-nsurlerrordomain-code- 1005-the-network-connection-was-lost) – sunshinejr

回答

-2

如果您在vc或其他對象中保留請求,則此錯誤將消失。

+0

不正確,我只是試過了,失敗了。查看上面更新的代碼。 –

相關問題