标签: afnetworking

AFNetworking自动包装JSON中的请求?

AFNetworking我遇到了一个小问题.

我试图用POST参数简单调用一个路径(例如http://myserver.com/index.php,参数myParam = 1)

我已经尝试过同时使用AFURLConnectionOperation和AFJSONRequestOperation,当我输出"请求"时,它显示{"myParam":1},好像它将我的请求打包为json,实际上它应该是常规帖子(响应是JSON,但那不太相关).

有没有人知道如何克服这个问题,除了使用NSURLConnection?

谢谢:)
Shai

iphone post json http afnetworking

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

从rackspace获取文件时,通过3G的IOS AFNetworking不可靠

我在使用AFNetworking从Rackspace存储库下载文件时遇到了问题.

基本上有时文件没有完全转移,但AFNetworking会触发成功块.收到的http响应代码也设置为200 OK.

这种情况只发生在3G连接上.在WiFi上我们正确接收所有文件.

任何人都可以给我们提供任何可能导致此行为的提示吗?

编辑,2012-05-10 我发现问题可能在其他地方,我正在做的是检查文件的CRC并将其与预期的CRC进行比较.但是(并且只有当连接通过3G时才会发生)CRC校验失败.下面是我用来下载文件然后检查它的CRC代码的一些代码:

NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:urlNS];

AFImageRequestOperation * imageRequestOperation = [AFImageRequestOperation imageRequestOperationWithRequest:request
                                                   imageProcessingBlock:nil
                                                   cacheName: nil
                                                   success: ^(NSURLRequest * request, NSHTTPURLResponse * response, UIImage * image)
                                                   {
                                                       [self.class postProcessDownloadAfNetworking: request andResponse: response resultImage: image error: nil];
                                                   }
                                                   failure: ^(NSURLRequest * request, NSHTTPURLResponse * response, NSError * error)
                                                   {
                                                       [self.class postProcessDownloadAfNetworking: request andResponse: response resultImage: nil error: error];                                                        
                                                   }];

imageRequestOperation.outputStream = [NSOutputStream outputStreamToFileAtPath:obj.destinationFilename append:NO];


[imageRequestOperation start]; 
Run Code Online (Sandbox Code Playgroud)

然后在回调方法中:

if(error == nil)
{
    NSData * data = [NSData …
Run Code Online (Sandbox Code Playgroud)

rackspace 3g ios afnetworking

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

AFNetworkActivityIndi​​catorManager不会减少,因为表格单元格回收取消了图像请求

我正在使用UIImageView+AFNetworking:setImageWithURLRequest将图像加载到表格视图单元格中.它运行良好,我尝试使用AFNetworkActivityIndicatorManager如下例所示,在图像加载时显示活动指示器.

[[AFNetworkActivityIndicatorManager sharedManager] incrementActivityCount]; 
[imageView setImageWithURLRequest:request placeholderImage:[UIImage imageNamed:placeholder]
  success:^(NSURLRequest *request, NSHTTPURLResponse *response, UIImage *image) {
    [[AFNetworkActivityIndicatorManager sharedManager] decrementActivityCount];
  } failure:^(NSURLRequest *request, NSHTTPURLResponse *response, NSError *error) {
    [[AFNetworkActivityIndicatorManager sharedManager] decrementActivityCount];
  }
];
Run Code Online (Sandbox Code Playgroud)

我遇到的问题是当快速滚动表格视图时AFNetworking取消某些请求并且AFNetworkActivityIndicatorManager永远不会减少.取消请求确实可以保持快速并且看起来像设计:

"例如,当表视图单元格被回收时,设置新图像URL将自动取消先前的请求." https://github.com/AFNetworking/AFNetworking/wiki/Introduction-to-AFNetworking

有没有办法检测取消,所以我可以减少AFNetworkActivityIndicatorManager或有更好的方法来确保请求和活动指示保持同步?

谢谢!

ios afnetworking

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

AFNetworking不缓存HTTPS请求

我们正在构建一个iOS应用程序,它使用AFNetworking连接到运行Tornado的服务器.服务器Cache-Control: private, max-age=900在响应中包含标头.在我的本地计算机上运行服务器时,我可以告诉AFNetworking使用缓存的值,因为服务器没有收到来自应用程序的重复请求的请求.当我们将相同的Tornado服务器部署到测试机器时,来自应用程序的每个请求都会导致在服务器上收到请求,忽略缓存的值.

两种设置之间的唯一区别是服务器的URL以及通过HTTPS连接访问测试服务器的事实,而localhost使用HTTP.HTTPS是否会影响AFNetworking的缓存,如果是这样,我们如何让AFNetworking尊重缓存头?

caching ios afnetworking

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

AFNetworking下载后文件存在

我用AFNetworking下载它后找到我的文件有一些问题...下载本身很好,但是当我检查文件的存在后,我找不到它...所以我希望有人可以帮我...

在我的代码中,我下载了文件,在完成块中,我检查是否存在(这只是因为我遇到了问题,之后会被删除)...

NSURLRequest *request = [NSURLRequest requestWithURL:[NSURL URLWithString:@"url to file removed"]];
AFHTTPRequestOperation *operation = [[AFHTTPRequestOperation alloc] initWithRequest:request];

NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *path = [[paths objectAtIndex:0] stringByAppendingPathComponent:@"filename removed"];
operation.outputStream = [NSOutputStream outputStreamToFileAtPath:@"filename removed" append:NO];

//Track the progress
[operation setDownloadProgressBlock:^(NSUInteger bytesRead, long long totalBytesRead, long long totalBytesExpectedToRead)
{
    if (totalBytesExpectedToRead > 0)
    {
        dispatch_async(dispatch_get_main_queue(), ^{
            NSString *progress = [NSString stringWithFormat:@"Downloaded %lld of %lld bytes",
                               totalBytesRead,
                               totalBytesExpectedToRead];

            NSLog(@"%@", progress);
        });
    }
}];

[operation setCompletionBlockWithSuccess:^(AFHTTPRequestOperation *operation, id responseObject)
{
    NSLog(@"File downloaded …
Run Code Online (Sandbox Code Playgroud)

nsfilemanager afnetworking

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

包括AFnetworking链接器错误

谁能告诉我发生了什么事?

包括AFnetworking后我得到9个错误,见下文.

http://i.imgur.com/2nd7LiU.png

http://i.imgur.com/YEyt1zi.png

linker-errors ios afnetworking

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

Xcode 5和AFNetworking 2.0?

我把头发拉过来,似乎无法弄清楚为什么AFNetworking和Xcode 5似乎没有合作.

我正在使用这里看到的教程,出于某种原因,每当我去构建实际的程序时,它告诉我:

没有可见的

@interface for 'UIImageView' declares the selector 'setImageWithURL:setPlaceholderImage:'
Run Code Online (Sandbox Code Playgroud)

现在,我已经进口AFNetworking.h到我的前缀的文件,我已经添加MobileCoreServicesSystemConfiguration太.我不知道怎么从这里开始.

我假设我收到的错误是因为Xcode没有正确链接到AFNetworking库.但是我该如何解决这个问题呢?

xcode objective-c ios afnetworking afnetworking-2

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

使用AFNetworking进行基本身份验证

我试图调用URL并返回到json对象.但是,我无法找到将基本身份验证放在AFNetworking操作中的位置.我可以使用POSTMAN获取我的JSON对象,如下所示.

AFNetworking操作的代码片段:

    NSString *string = @"MYURL";
    NSURL *url = [NSURL URLWithString:string];
    NSURLRequest *request = [NSURLRequest requestWithURL:url];

    AFHTTPRequestOperation *operation = [[AFHTTPRequestOperation alloc] initWithRequest:request];
    operation.responseSerializer = [AFJSONResponseSerializer serializer];
    [operation setCompletionBlockWithSuccess:^(AFHTTPRequestOperation *operation, id responseObject) {
    int total_count = (int)[[responseObject valueForKey:@"total_count"] integerValue];
        if (total_count > 0) {
            NSMutableArray *array = [[NSMutableArray alloc] initWithCapacity:total_count];
            for (int i = 1; i <= total_count; i++) {
                NSString *key = [NSString stringWithFormat:@"%i", i];
                id object = [responseObject objectForKey:key];
                [array addObject:object];
            }
            menuArray=array;
            tableData = [NSArray arrayWithArray:array];
            [categoryTableView reloadData]; …
Run Code Online (Sandbox Code Playgroud)

ios afnetworking

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

Objective-C如何使用AFNetworking发布表单数据?

我有一个Web服务,我可以通过Postman实用程序成功发布调用.在Postman上的设置是邮差设置

我无法使用代码使用Afnetworking进行相同的调用.

AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager];
NSDictionary *parameters = @{@"body": @{@"email":@"email@gmail.com",@"name":@"myName"}};
[manager POST:@"http://myURL.com/user" parameters:parameters success:^(AFHTTPRequestOperation *operation, id responseObject) {
    NSLog(@"JSON: %@", responseObject);
} failure:^(AFHTTPRequestOperation *operation, NSError *error) {
    NSLog(@"Error: %@", error);
}];
Run Code Online (Sandbox Code Playgroud)

我的猜测是我没有正确设置表单数据?

ios afnetworking afnetworking-2

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

不可用的AFNetworking内存泄漏

TL; DR:自己克隆并检查泄漏https://github.com/JakubMazur/SO41343532/

我有一个处理我所有网络的课程.它被调用ResponseOrganizer,在那里我有一个类方法:

+ (void)getSth:(void (^)(NSURLSessionDataTask *operation, NSArray *locales, id plainObject))success failure:(void (^)(NSURLSessionDataTask *operation, NSError *error))failure {

    Connection *connection = [Connection new];
    connection.urlString = @"http://sample-file.bazadanni.com/download/txt/json/sample.json";
    connection.requestMethodType = GET;

    [connection fireWithSuccess:^(NSURLSessionDataTask *operation, NSArray *returnArray, id originalResponse) {
        success(operation, returnArray, originalResponse);
    } failure:^(NSURLSessionDataTask *operation, NSError *error) {
        failure(operation, error);
    }];
}
Run Code Online (Sandbox Code Playgroud)

Connection单个我的内部连接对象在哪里:

这是实施:

#import "Connection.h"

@interface Connection()
@property (weak,nonatomic) AFHTTPSessionManager *manager;
@end

@implementation Connection

#pragma mark - Connection groundwork

-(void)fireWithSuccess:(void (^)(NSURLSessionDataTask *operation, NSArray* returnArray, id originalResponse))success failure:(void (^)(NSURLSessionDataTask …
Run Code Online (Sandbox Code Playgroud)

memory-leaks objective-c ios afnetworking nsurlsession

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