标签: afnetworking-2

在AFHTTPRequestOperationManager和AFHTTPSessionManager之间进行选择时的建议

由于AFNetworking 2.0AFHTTPClient已经消失的青睐两位经理的:AFHTTPRequestOperationManagerAFHTTPSessionManager.迁移指南几乎没有说明每种情况下最好使用的情况.据我所知,与RESTful的基本交互JSON API可以分别使用它们中的每一个来实现.

什么是最合适的情况使用RequestOperationManagerSessionManager

objective-c afhttpclient afhttprequestoperation afnetworking-2

15
推荐指数
1
解决办法
4213
查看次数

如何在AFNetworking中获取状态代码

我有一个方法,用于授权用户.我需要基本授权.

    NSString *url = [NSString stringWithFormat:@"%@/rest/api/person/auth", host];
    AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager];
    [manager setRequestSerializer:[AFHTTPRequestSerializer serializer]];
    [manager.requestSerializer setAuthorizationHeaderFieldWithUsername:_loginField.text password:_passwordField.text];
    [manager setResponseSerializer:[AFJSONResponseSerializer serializer]];
    [manager GET:url parameters:nil success:^(AFHTTPRequestOperation *operation, id responseObject) {
        [self parseResponseForUser:responseObject];
    } failure:^(AFHTTPRequestOperation *operation, NSError *error) {
        NSLog(@"Error %@ ",error);
    }];
Run Code Online (Sandbox Code Playgroud)

这里的主要问题是确定错误类型.我可能有授权错误和网络连接问题错误(主机无法访问).当登录名和密码与条件不匹配时,将运行故障块.例如,如果我输错了密码并登录,我会收到以下错误消息:

错误域= NSCocoaErrorDomain代码= 3840"操作无法完成.(Cocoa错误3840.)"(JSON文本不是以数组或对象开头,而是选项允许未设置片段.)

我该如何捕获错误类型?

ios afnetworking afnetworking-2

15
推荐指数
4
解决办法
2万
查看次数

在运行AFHTTPSessionManager的AFNetworking 2中设置对并发任务的限制

所以我知道在旧的AFNetworking中使用AFHTTPClient是可能的,我知道如果我使用AFHTTPRequestOperationManager我可以设置队列的限制,但我不能让AFHTTPSessionManager一次只运行x个请求而不是我自己实现它使用成功块(我不想).

以下代码不限制我的连接:

AFHTTPSessionManager*manager = [AFHTTPSessionManager manager]; manager.operationQueue.maxConcurrentOperationCount = 1;

根据这里有趣的讨论,我向服务器提出了很多请求,并且在我获得超时之前将其阻塞,因此我确实需要限制并发连接.

我错过了什么?

network-programming ios afnetworking afnetworking-2 nsurlsession

15
推荐指数
1
解决办法
6331
查看次数

使用AFHttpRequestOperationManager发布请求不起作用

我正在使用AFHTTPRequestOperationManager将一些JSON发布到我的服务器,我的代码如下.

NSDictionary *parameters = [[NSDictionary alloc] initWithObjectsAndKeys:@"john", @"name", @"xxxxx@gmail.com", @"email", @"xxxx", @"password", @"1", @"type", nil];
// Do any additional setup after loading the view.
AFSecurityPolicy *policy = [[AFSecurityPolicy alloc] init];
[policy setAllowInvalidCertificates:YES];
AFHTTPRequestOperationManager *operationManager = [AFHTTPRequestOperationManager manager];
[operationManager setSecurityPolicy:policy];

[operationManager POST:@"posturl here" parameters:parameters success:^(AFHTTPRequestOperation *operation, id responseObject) {
    NSLog(@"JSON: %@", [responseObject description]);
} failure:^(AFHTTPRequestOperation *operation, NSError *error) {
    NSLog(@"Error: %@", [error description]);
}];
Run Code Online (Sandbox Code Playgroud)

响应如下:

2013-11-18 16:49:29.780 SwapOnceApiTester[12651:60b] Error: Error Domain=AFNetworkingErrorDomain Code=-1011 "Request failed: unsupported media type (415), got 1664256" UserInfo=0x1565a6c0 …
Run Code Online (Sandbox Code Playgroud)

ios7 afnetworking-2

14
推荐指数
2
解决办法
2万
查看次数

如何使用AFNetworking跟踪多个同时下载的进度?

我正在使用AFNetworking下载我的应用程序用于同步解决方案的文件.在某些时候,应用程序会将一系列文件作为批处理单元下载.按照这个例子,我像这样运行批处理:

NSURL *baseURL = <NSURL with the base of my server>;
AFHTTPRequestOperationManager *manager = [[AFHTTPRequestOperationManager alloc] initWithBaseURL:baseURL];

// as per: https://stackoverflow.com/a/19883392/353137
dispatch_group_t group = dispatch_group_create();

for (NSDictionary *changeSet in changeSets) {
    dispatch_group_enter(group);

    AFHTTPRequestOperation *operation =
    [manager
     POST:@"download"
     parameters: <my download parameters>
     success:^(AFHTTPRequestOperation *operation, id responseObject) {
         // handle download success...
         // ...
         dispatch_group_leave(group);

     }
     failure:^(AFHTTPRequestOperation *operation, NSError *error) {
         // handle failure...
         // ...
         dispatch_group_leave(group);
     }];
    [operation start];
}
// Here we wait for all the requests to …
Run Code Online (Sandbox Code Playgroud)

block batch-processing ios mbprogresshud afnetworking-2

13
推荐指数
2
解决办法
5023
查看次数

AFNetworking 2.0 //如何读取响应头

我正在使用新版本的AFNetworking,我无法弄清楚如何阅读响应的标题.我正在使用AFHTTPSessionManager来执行我的查询,一切正常但我无法找到标题响应字段.

这是我如何进行

     self.sessionManager = [[AFHTTPSessionManager alloc] initWithBaseURL:[NSURL URLWithString:BASE_URL]];
     [self.sessionManager GET:urlId parameters:nil
                      success:^(NSURLSessionDataTask *task, id responseObject) {

                          if ([self.delegate respondsToSelector:@selector(userIsLoadedWithInfos:)]) {
                              [self.delegate userIsLoadedWithInfos: responseObject];
                          }
                      } failure:^(NSURLSessionDataTask *task, NSError *error) {
                          if ([self.delegate respondsToSelector:@selector(userLoadingFailed)]) {
                              [self.delegate userLoadingFailed];
                          }
                      }
         ];
Run Code Online (Sandbox Code Playgroud)

我尝试读取任务的响应属性,但它返回一个不包含标题的NSURLResponse.现在有人如何阅读2.0版本的响应标头?谢谢

cocoa-touch objective-c ios ios7 afnetworking-2

13
推荐指数
2
解决办法
1万
查看次数

iOS - 增加AFHTTPRequestOperationManager的超时

我正在从一个非常慢的服务器上下载JSON数据.从服务器获得一个resoonse大约需要一分钟.我使用AFNetworking库,我的代码抛出"请求超时"错误:

NSString *urlString = [NSString stringWithFormat:@"%@/account.do?JSON&sysparm_action=getRecords",baseUrlString];

    NSString *login = [[NSUserDefaults standardUserDefaults] objectForKey:@"login"];
    NSString *password = [[NSUserDefaults standardUserDefaults] objectForKey:@"password"];

    [manager setRequestSerializer:[AFHTTPRequestSerializer serializer]];
    [manager.requestSerializer setAuthorizationHeaderFieldWithUsername:login password:password];


    [manager GET:urlString parameters:nil success:^(AFHTTPRequestOperation *operation, id responseObject) {
        NSLog(@"JSON: %@", responseObject);
        [self parseJsonWithAccountsData:responseObject];
    } failure:^(AFHTTPRequestOperation *operation, NSError *error) {
        NSLog(@"Error: %@", operation.responseString);
        [self performSelectorOnMainThread:@selector(failedWithContactsDownload) withObject:nil waitUntilDone:YES];
    }];
Run Code Online (Sandbox Code Playgroud)

没有找到设置超时的方法AFHTTPRequestOperationManager.我该怎么做?

cocoa-touch ios afnetworking afnetworking-2

13
推荐指数
3
解决办法
1万
查看次数

是否可以使用Restkit安装AFNetworking 2.0

我有一个新闻应用程序,它以XML格式在线获取新闻,在本地存储在sqlite dbase中...这是restkit的完美案例.

但是,我想有时手动获取xml数据(即不想将其存储在dbase中).换句话说,我想直接用AFNetworking请求它.我喜欢在AFNetworking 2.0中自动解析xml,所以我想使用该功能.

但是,Restkit 2.0链接到AFNetworking 1.3 ..所以如果我将它添加到我的podfile:

pod 'RestKit', '~> 0.21.0'
pod "AFNetworking", "~> 2.0"
Run Code Online (Sandbox Code Playgroud)

并运行pod install我得到以下错误:

[!] Unable to satisfy the following requirements:
- `AFNetworking (~> 1.3.0)` required by `RestKit/Network (0.21.0)`- `AFNetworking (~> 2.0)` required by `Podfile`
Run Code Online (Sandbox Code Playgroud)

有没有办法解决?

xml objective-c restkit afnetworking afnetworking-2

13
推荐指数
1
解决办法
4618
查看次数

iOS中的"__connection_block_invoke_2中的错误:连接中断"是什么?

我试着用做的iOS应用AFNetworkingUITableView.TableView加载20个数据,如Twitter的时间轴.

当它加载超过80个数据时,Xcode显示花费大约70MB内存和控制台节目

"Received memory warning."
Run Code Online (Sandbox Code Playgroud)

**"error in __connection_block_invoke_2: Connection interrupted".**
Run Code Online (Sandbox Code Playgroud)

这是什么以及如何处理此错误?

objective-c uitableview ios afnetworking-2

13
推荐指数
1
解决办法
2万
查看次数

AFNetworking 2.0是否支持iOS 6.0?

AFNetworking 2.0上周宣布.但我发现AFNetworking 2.0有不同的要求.

README.md告诉它需要iOS 7.0及更高版本,而AFNetworking 2.0迁移指南告诉它需要iOS 6.0及更高版本.

剂量AFNetworking 2.0支持iOS 6.0?

ios afnetworking afnetworking-2

12
推荐指数
1
解决办法
6517
查看次数