Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

No visible @interface for 'AFHTTPSessionManager' declares the selector 'POST:parameters:progress:success:failure:'

I am new to objective c and IOS, I'm trying to post some values to a url and trying to get the response.

but I can't compile my project because, i'm having this error

/Users/Desktop/MyIOSApps/Chat System/Chat System/SignInVC.m:92:14: No visible @interface for 'AFHTTPSessionManager' declares the selector 'POST:parameters:progress:success:failure:'

Imports

#import "SignInVC.h"
#import <QuartzCore/QuartzCore.h>
#import "ApplicationEnvironmentURL.h"
#import "Reachability.h"
#import "AFNetworking/AFNetworking.h"
#import "MBProgressHUD/MBProgressHUD.h"
#import "AppDelegate.h"

Objective-c Code

- (void)submitLoginRequest:(NSString *)email password:(NSString *)password {

    AFHTTPSessionManager *manager = [[AFHTTPSessionManager alloc] initWithSessionConfiguration:[NSURLSessionConfiguration defaultSessionConfiguration]];
    manager.requestSerializer = [AFJSONRequestSerializer serializer];

    NSMutableDictionary *dict = [[NSMutableDictionary alloc] init];
    [dict setValue:email forKey:@"Email"];
    [dict setValue:password forKey:@"Password"];

    NSLog(@"Login dicxtionary : %@", dict);
    MBProgressHUD *hud;
    hud = [MBProgressHUD showHUDAddedTo:self.view animated:YES];
    hud.label.text = @"Please wait. Logging in...";

    [hud showAnimated:YES];


    // send user login data to hosting via AFHTTP Async Request in AFNetworking
    [manager POST:BASEURL parameters:dict progress:nil success:^(NSURLSessionTask *task, id responseObject) {

        [hud hideAnimated:YES];
        // Login response validation
        if (responseObject == [NSNull null]) {
            [self showMessage:@"Login Failed" Message:@"Unable to login. Please try again!"];
        }else {
            //NSError *error = nil;
            NSLog(@"response type : %@", NSStringFromClass([responseObject class]));
            //NSDictionary *response = [NSJSONSerialization JSONObjectWithData:responseObject options:NSJSONReadingMutableContainers error:&error];
            [self checkResultValue:(NSDictionary *)responseObject];
        }

    } failure:^(NSURLSessionTask *task, NSError *error) {

        NSLog(@"AFHTTPSession Failure : %@", [error localizedDescription]);
    }];

}

Can someone help me to fix this issue. tnx.

like image 580
Sathya Baman Avatar asked Dec 27 '16 12:12

Sathya Baman


2 Answers

The method you are looking for is POST:parameters:success:failure:. So simply remove the progress:nil from the method call. The whole method call would be look like below.

    [manager POST:BASEURL parameters:dict success:^(NSURLSessionTask *task, id responseObject) {

        [hud hideAnimated:YES];
        // Login response validation
        if (responseObject == [NSNull null]) {
            [self showMessage:@"Login Failed" Message:@"Unable to login. Please try again!"];
        }else {
            //NSError *error = nil;
            NSLog(@"response type : %@", NSStringFromClass([responseObject class]));
            //NSDictionary *response = [NSJSONSerialization JSONObjectWithData:responseObject options:NSJSONReadingMutableContainers error:&error];
            [self checkResultValue:(NSDictionary *)responseObject];
        }

    } failure:^(NSURLSessionTask *task, NSError *error) {

        NSLog(@"AFHTTPSession Failure : %@", [error localizedDescription]);
    }];
like image 79
Nirav D Avatar answered Nov 08 '22 23:11

Nirav D


In AFNetworking 4.0

POST:

[manager POST:baseUrl parameters:params headers:nil progress:nil success:^(NSURLSessionDataTask * _Nonnull task, id  _Nullable responseObject) {
} failure:^(NSURLSessionDataTask * _Nullable task, NSError * _Nonnull error) {
}];

GET:

[manager GET:baseUrl parameters:nil headers:nil progress:nil success:^(NSURLSessionDataTask * _Nonnull task, id  _Nullable responseObject) {

} failure:^(NSURLSessionDataTask * _Nullable task, NSError * _Nonnull error) {
      NSLog(@"getDeviceScanResults: failure: %@", error.localizedDescription);
}];
like image 37
Naresh Avatar answered Nov 08 '22 22:11

Naresh