Я работаю над передачей моего проекта из AFNetworking в Alamofire. Очень нравится проект. Тем не менее, я получаю эту ошибку при попытке сделать запрос GET.
Вот пример кода:
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)")
}
}
Здесь ошибка, с которой я сталкиваюсь:
Ошибка домена = NSURLErrorDomain Code = -1005 "Сетевое соединение было потерянный." UserInfo = {NSUnderlyingError = 0x14e9c77f0 {Ошибка 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 = Сетевое соединение было потеряно.}
Я пробовал работать на iOS Simulator с 1OS 8.4 и iOS 9.1, а также с моим iPhone 6S с iOS 9.1.
Что я делаю неправильно?
-------- ИЗМЕНИТЬ --------
Чтобы уточнить, эта функция отлично работает с AFNetworking.
Здесь результат отладки (запроса) (это запрос 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"
Мне нужно изменить curl -i на curl -X GET, чтобы завиток возвращался успешно.
Вот еще один вызов, который я должен сделать в приложении, которое не работает без проблем.
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?