2017-10-12 5 views
0

J'ai écritAlamofire - code d'erreur -999

class Property{ 
... 
static var alamofireManager: SessionManager{ 
    let sessionConfiguration = URLSessionConfiguration.default 
    sessionConfiguration.timeoutIntervalForRequest = 10 
    return Alamofire.SessionManager(configuration: sessionConfiguration) 
} 
... 
} 

pour les fonctions de plusieurs classes à utiliser.

Cependant, quand je l'utilise:

Property.alamofireManager.request(loginURL).validate(contentType: ["application/json"]).responseJSON{ response in 
.... 

Je reçois une erreur disant: Tâche < 1F6C95AA-C878-439F-87ED-1055D19E3ADD>. < 1> terminé avec l'erreur - code: -999

Je sais que cela fonctionne si je viens d'utiliser Alamofire. Est-ce que quelqu'un sait pourquoi cela ne fonctionne pas?

Merci!

+0

Ma conjecture est parce que vous n'êtes pas créer des têtes contrairement à défaut de SessionManager Alamofire. Il manque donc des informations importantes telles que "Accept-Encoding" et "Accept-Language". –

+1

Il vous manque également des parenthèses '()' après la fermeture de var. Explication ici: https://stackoverflow.com/a/33115013/1433612 –

+0

Hmm je vois. Laissez-moi essayer plus tard et mettre à jour. Merci au passage! –

Répondre

2

Voici ce que ça devrait ressembler à:

static let alamofireManager: SessionManager = { 
    let sessionConfiguration = URLSessionConfiguration.default 
    sessionConfiguration.timeoutIntervalForRequest = 10 
    return Alamofire.SessionManager(configuration: sessionConfiguration) 
}() 
+0

Testé et fonctionnel –

+0

Vous avez sauvé ma journée! Aussi je suis très apprécié pour vous poster la solution de matt. Cela m'a paru quelque chose que je ne faisais pas attention. –

+0

Je suis content que ça a marché –