У меня есть старый проект и попробуйте обновить его от AFNetworking 2. * до AFNetworking 3.0. Все работает нормально, за исключением загрузки файлов m4r. Старый код используется что-то вроде этого:AFNetworking 3.0 скачать * .m4r файл
NSMutableURLRequest* request = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:URLString]];
[request setValue:@"gzip" forHTTPHeaderField:@"Accept-Encoding"];
AFHTTPRequestOperation* requestOperation = [[AFHTTPRequestOperation alloc] initWithRequest:request];
requestOperation.responseSerializer = [AFJSONResponseSerializer serializer];
requestOperation.outputStream = [NSOutputStream outputStreamToFileAtPath:outPath append:NO];
[requestOperation setCompletionBlockWithSuccess:^(AFHTTPRequestOperation* operation, id responseObject) {
//
} failure:^(AFHTTPRequestOperation* operation, NSError* error) {
//
}];
[requestOperation setDownloadProgressBlock:downloadProgressBlock];
[requestOperation start];
я не уверен, как двигаться логику потока логики вывода на AFNetwroking 3,0, так что теперь я оставил его и переделал старый код:
AFHTTPSessionManager* manager = [AFHTTPSessionManager manager];
manager.responseSerializer = [AFJSONResponseSerializer serializer];
[manager.responseSerializer setAcceptableContentTypes: [manager.responseSerializer.acceptableContentTypes setByAddingObjectsFromArray: @[@"video/mp4", @"audio/mpeg"]]];
manager.requestSerializer = [AFJSONRequestSerializer serializer];
[manager.requestSerializer setValue: @"gzip" forHTTPHeaderField: @"Accept-Encoding"];
[manager GET: URLString parameters: nil progress: downloadProgressBlock success:^(NSURLSessionTask* task, id responseObject) {
//
} failure:^(NSURLSessionTask* operation, NSError* error) {
//
}];
линия с установкой acceptableContentTypes добавляется, потому что без него я получаю сообщение об ошибке с описанием:
«Запрос не удался: неприемлемым Content-Type: видео/MP4»
Теперь, после исправления этой ошибки, я получаю
«Невозможно преобразовать данные в строку, используя найденную кодировку. Данные может быть поврежден «
Что я делаю неправильно