我将我的networkingfunction从AFNetworking迁移到AFNetworking v2 ,而不是AFHttpClient我使用AFHTTPRequestOperationManager来支持iOS6。 我的问题是,虽然在AFHttpClient有function取消一个未决的请求使用 – (void)cancelAllHTTPOperationsWithMethod:(NSString *)method path:(NSString *)path; 方法,在AFHTTPRequestOperationManager中没有这样明显的方法。 我到目前为止所做的是AFHTTPRequestOperationManager并声明一个iVar AFHTTPRequestOperation *_currentRequest; 当我提出请求时,代码就是这样的 – (void)GetSomething:(NSInteger)ID success:(void (^)(MyResponse *))success failure:(void (^)(NSError *))failure { _currentRequest = [self GET:@"api/something" parameters:@{@"ID": [NSNumber numberWithInteger:ID]} success:^(AFHTTPRequestOperation *operation, id responseObject) { MyResponse *response = [MyResponse responseFromDictionary:responseObject]; success(response); } failure:^(AFHTTPRequestOperation *operation, NSError *error) { failure(error); }]; } 我有一个 – (void)cancelCurrentRequest; 所有的方法是 – […]
我有一个网页脚本接受JSONstring作为input通过HTTP POST请求。 我曾经遇到过几个AFNetworking 1.x的例子,请大家指点一下,或者给AFNetworking 2.0的例子做一个HTTP POST请求到带有格式化JSON的web脚本作为input? 谢谢
在AFNetworking 2.0上找不到AFHTTPClient,使用: AFHTTPClient *client = [AFHTTPClient clientWithBaseURL:[NSURL URLWithString:@"http://examplewebsite.com]]; [client setAuthorizationHeaderWithUsername:@"username" password:@"password"]; 如何在AFNetworking 2.0上pipe理?
当切换到AFNetworking 2.0时,AFHTTPClient已被AFHTTPRequestOperationManager / AFHTTPSessionManager取代(如迁移指南中所述)。 我在使用AFHTTPSessionManager时遇到的第一个问题是如何检索失败块中的响应正文? 这是一个例子: [self.sessionManager POST:[endpoint absoluteString] parameters:params success:^(NSURLSessionDataTask *task, id responseObject) { // How to get the status code? } failure:^(NSURLSessionDataTask *task, NSError *error) { // How to get the status code? response? }]; 在成功块中,我想检索响应的状态码。 在失败块中,我想要检索响应的状态码和内容(在这种情况下是描述服务器端错误的JSON)。 NSURLSessionDataTask有一个NSURLResponsetypes的响应属性,它没有statusCode字段。 目前我能够像这样检索statusCode: [self.sessionManager POST:[endpoint absoluteString] parameters:params success:^(NSURLSessionDataTask *task, id responseObject) { // How to get the […]
可能没有AFImageRequestOperation ,但只有AFImageResponseSerializer ,坦率地说,我不明白,也许我只是通过AFNetworking网站太长时间…与以前的AFNetworking下载图像就像一个魅力。 我不想回到老的AFnetworking,因为我通过新版本做了几乎所有的东西…任何人?
我是一个obj-c新手,并已经使用asihttp我的一些项目。 在asihttp做这样的post请求时。 ASIFormDataRequest *request = [ASIFormDataRequest requestWithURL:url]; [request setPostValue:height forKey:@"user[height]"]; [request setPostValue:weight forKey:@"user[weight]"]; [request setDelegate:self]; [request startAsynchronous]; 如何去做这个是一个代码示例的AFNetworking? 我已经得到了Json getrequest在AFNetworking工作,但这个职位的要求给了我一些问题。 提前感谢您的帮助。
尝试进入AFNetworking代码会产生以下警告: [Project Name] was compiled with optimization – stepping may behave oddly; variables may not be available. 当然,我无法debugging代码。 具体来说,我试图debuggingUIImageView+AFNetworking类似乎不可能。 更改代码没有效果(试过NSLog等),当试图在编译器中进入汇编代码,并显示UIImageView+TVASTAFNetworking作为类别名称,它不存在于代码库中的任何地方。 使用Xcode 7. iOS 9和8. Cocoapods(无框架) 更新我忘了提到Optimizer设置为none ,无论是释放和debuggingconfiguration,我实际上使用Debugconfiguration。 更新2 Strip Debug Symbols也是closures的。
这个我正在撞墙。 我想从库中selectUIImage并将其上传到服务器,就像使用<form action="http://blabla.request.cfm" method="post" enctype="multipart/form-data"> 。 而不是成功,我得到了这个错误: 错误=错误域= NSCocoaErrorDomain代码= 3840“操作无法完成。(cocoa错误3840.)”(JSON文本没有开始数组或对象和选项允许片段不设置。)UserInfo = 0x145e5d90 {NSDebugDescription = JSON文本没有以数组或对象和选项开始,以允许片段未设置。} 我试过这种方式: -(void)uploadPhoto{ NSString *path = @"http://blabla.request.cfm"; NSData *imageData = UIImageJPEGRepresentation(self.imageView.image, 0.9); int priv = self.isPrivate ? 1 : 0; NSDictionary *parameters = @{@"username": self.username, @"password" : self.password, @"private" : @(priv), @"photo" : imageData}; AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager]; [manager POST:path […]
我有点混淆如何利用新的iOS 7 NSURLSession后台传输function和AFNetworking (版本2和3)。 我看到了WWDC 705 – What's New in Foundation Networking会议中WWDC 705 – What's New in Foundation Networking ,他们演示了在应用程序终止甚至崩溃之后继续下载的后台下载。 这是通过使用新的API application:handleEventsForBackgroundURLSession:completionHandler:事实上,会话的委托最终将获得callback并可以完成其任务。 所以我想知道如何使用AFNetworking(如果可能)继续在后台下载。 问题是,AFNetworking方便地使用基于块的API来做所有的请求,但是如果应用程序终止或崩溃,那些块也不见了。 那么我怎么才能完成这个任务? 或者也许我在这里错过了一些东西… 让我解释一下我的意思: 例如,我的应用程序是一个照片消息应用程序,可以说我有一个PhotoMessage对象代表一个消息,这个对象有像 state – 描述照片下载的状态。 resourcePath – 最终下载的照片文件的path。 所以当我从服务器得到一条新消息时,我创build了一个新的PhotoMessage对象,并开始下载它的照片资源。 PhotoMessage *newPhotoMsg = [[PhotoMessage alloc] initWithInfoFromServer:info]; newPhotoMsg.state = kStateDownloading; self.photoDownloadTask = [[BGSessionManager sharedManager] downloadTaskWithRequest:request progress:nil destination:^NSURL *(NSURL *targetPath, NSURLResponse *response) […]