Avertissement hors-sujet réponse Mais dans certains cas, vous pouvez décider il est impossible d'utiliser AFNetworking. Ma tâche consiste simplement à télécharger un fichier à partir d'une API personnalisée. Pour l'accès, je vais utiliser le jeton sur "x-token"
clé dans les en-têtes. AFNetworking ne fonctionnait pas seulement en téléchargement, dans les requêtes GET/POST tout était génial!
// we use "x-token" to acces
self.tokenSessionManager = [AFHTTPSessionManager manager];
((AFJSONResponseSerializer *)_tokenSessionManager.responseSerializer).removesKeysWithNullValues = YES;
[_tokenSessionManager.requestSerializer setValue:self.user.token forHTTPHeaderField:@"x-token"];
// it works perfect in other GET/POST requests but not in downloading
NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:item.urlString]];
// try to set it directly in request
NSString *key = @"x-token";
[request setValue:[self.tokenSessionManager.requestSerializer valueForHTTPHeaderField:key] forHTTPHeaderField:key];
[[self.tokenSessionManager downloadTaskWithRequest:request progress:nil destination:^NSURL *(NSURL *targetPath, NSURLResponse *response) {
return [NSURL URLWithString:filePath];
} completionHandler:^(NSURLResponse *response, NSURL *urlPath, NSError *error) {
NSLog(@"Failure");
}] resume];
Et vous pouvez essayer d'utiliser NSURLSession
et NSURLRequest
NSURLSessionConfiguration *sessionConfiguration = [NSURLSessionConfiguration defaultSessionConfiguration];
NSString *key = @"x-token";
sessionConfiguration.HTTPAdditionalHeaders = @{key:[self.tokenSessionManager.requestSerializer valueForHTTPHeaderField:key]};
NSURLSession *session = [NSURLSession sessionWithConfiguration:sessionConfiguration];
NSURLRequest *request = [NSURLRequest requestWithURL:[NSURL URLWithString:item.urlString]];
[[session downloadTaskWithRequest:request completionHandler:^(NSURL * _Nullable location, NSURLResponse * _Nullable response, NSError * _Nullable error) {
NSLog(@"Success");
}] resume];
Ouais bien ... il est Alamofire, pas AFNetworking, même si j'apprécie la réponse, totalement hors-sujet – AncAinu