Impossible de définir l'en-tête d'autorisation URLRequest

Depuis la mise à jour de Swift 3, je modifie mes requêtes de NSMutableURLRequest à URLRequest. Après cela, toutes mes requests ont cessé de fonctionner en raison d'un problème d'informations d'identification incorrectes. Déjà essayé et tout chercher. Mon service continue comme avant et a testé mes requests à partir d'un simulateur de requête et s'est bien passé.

let url : NSSsortingng = "http://url.service.com/method?param=\(name)" as NSSsortingng var request = URLRequest(url: URL(ssortingng: url.addingPercentEscapes(using: Ssortingng.Encoding.utf8.rawValue)!)!) request.httpMethod = "POST" request.setAuthorizationHeader() URLSession.shared.dataTask(with: request) {data, response, err in do { //something } catch let error1 as NSError { //something } }.resume() 

Mon extension setAuthorizationHeader ()

 extension URLRequest { mutating func setAuthorizationHeader(){ let data = "user:password".data(using: Ssortingng.Encoding.utf8) let base64 = data?.base64EncodedSsortingng(options: []) setValue("Basic \(base64)", forHTTPHeaderField: "Authorization") } } 

Vous ne déballez pas votre variable Ssortingng avant d'effectuer l'interpolation Ssortingng et passez ainsi une description de string facultative à forHTTPHeaderField. Vérifiez la proposition: SE-0054. Assurez-vous de déballer votre option en toute security en utilisant si:

 if let base64 = data?.base64EncodedSsortingng(options: []) { setValue("Basic \(base64)", forHTTPHeaderField: "Authorization") }