我用AFHTTPClient,似乎它存储在框中的Cookie。 所以当我login时,然后重新加载我的应用程序,cookie自动在应用程序中。 也许我对此感到困惑。 但似乎它按我描述的方式工作。 现在我使用这个代码: AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager]; [manager POST:path parameters:params success:^(AFHTTPRequestOperation *operation, id responseObject) { } failure:^(AFHTTPRequestOperation *operation, NSError *error) { }]; 但是当我重新启动我的应用程序时,当我尝试请求一些我的API方法时,我得到错误标记的消息。 那么如何使用上面的代码来存储我的cookies。 我使用这个代码来完成我所有的login,注销和其他api服务的请求。 如果我不重新启动它运作良好,但我重新运行似乎cookies从我身上。 我该如何解决这个问题? 我find了这个答案链接,但我不知道如何使用它。 我检查了cookies。 如果我不重新运行应用程序,cookies是一样的: <NSHTTPCookie version:0 name:"…." value:"….." expiresDate:(null) created:2014-02-27 19:24:29 +0000 (4.15222e+08) sessionOnly:TRUE domain:"…." path:"/" isSecure:FALSE> 但是,如果我重新运行应用程序的cookie被改变。 哦,我明白了,应用程序不保存cookies,似乎我需要写这个function。 你有好的build议怎么做?
我正在使用AFNetworking从JSON提要加载图像。 在这里,第一次当用户打开应用程序,图像从互联网上加载。 没关系。 但是,当用户从另一个视图回来,再次使用应用程序时,图像应该从caching,而不是从互联网加载。 我怎样才能做到这一点? – (void)loadDetailData { detailPost = nil; NSString *detailUrl = [NSString stringWithFormat:@"%@", self.Details.firsturl]; AFHTTPRequestOperationManager *detailManager = [AFHTTPRequestOperationManager manager]; [detailManager GET:detailUrl parameters:nil success:^(AFHTTPRequestOperation *operation, id responseObject) { detailPosts = (NSDictionary *)responseObject; detailPost = [NSMutableArray array]; NSArray *result = [detailPosts objectForKey:@"posts"]; for (NSDictionary *all in result) { Categories *newCategory = [Categories new]; NSDictionary […]
我尝试了networking2.0,只是想弄清楚如何取消特定的任务。 旧的方法是使用类似的东西 [self cancelAllHTTPOperationsWithMethod:@"POST" path:@"user/receipts"] 但在2.0中我没有看到这样的东西 我创build了AFHTTPSessionManager的子类,它使我可以访问未完成的任务数组,我可以直接取消它们,但是我不知道如何识别另一个任务,所以我只能取消特定的任务。 任务有一个任务标识符,但这似乎并不是我所需要的。 NSString *path = [NSString stringWithFormat:@"user/receipts"]; [self.requestSerializer setAuthorizationHeaderFieldWithUsername:[prefs valueForKey:@"uuid"] password:self.store.authToken]; [self GET:path parameters:nil success:^(NSURLSessionDataTask *task, id responseObject) { completionBlock(responseObject); } failure:^(NSURLSessionDataTask *task, NSError *error) { errorBlock(error); }]; 现在,如果我只想取消这个请求,我将如何处理这个?
AFNetworking 2.0上周宣布。 但是我发现对AFNetworking 2.0有不同的要求。 README.md告诉它需要iOS 7.0或更高版本,而AFNetworking 2.0迁移指南则要求iOS 6.0或更高版本。 剂量AFNetworking 2.0支持iOS 6.0?
之所以要你这样做,是因为我混淆了params。 正如我理解有一种方法如何使用多部分请求。 这种方式为我们提供了两个概念,据我所知,从file upload可以存储在文档目录或使用NSData对象。 从file upload: 所以我把test.jpg保存到文档目录。 然后我让NSURL实例在多部分请求中使用它。 下面的代码显示了我如何创buildNSURL实例: NSString *fileName = @"test.jpg"; NSString *folderPath = [documentsDirectory stringByAppendingPathComponent:fileName]; NSURL *filePath = [NSURL fileURLWithPath:folderPath]; 当我打印文件path: file:///Users/mac/Library/Application%20Support/iPhone%20Simulator/7.0.3/Applications/F732FCF6-EAEE-4E81-A88B-76ADB75EDFD1/Documents/test.jpg 然后我设置我的参数,并使用formData附加我的文件如下: AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager]; NSDictionary *parameters = @{@"foo": @"bar"}; NSURL *filePath = [NSURL fileURLWithPath:@"file://path/to/image.png"]; [manager POST:@"http://example.com/resources.json" parameters:parameters constructingBodyWithBlock:^(id<AFMultipartFormData> formData) { [formData appendPartWithFileURL:filePath name:@"image" error:nil]; } success:^(AFHTTPRequestOperation *operation, id […]