2vision2
2vision2

Reputation: 5023

EXC_BAD_ACCESS for AFHTTPRequestOperationManager

First calling for "post method" its working fine using AFHTTPRequestOperationManager. But second time i called get method for same AFHTTPRequestOperationManager got EXC_BAD_ACCESS. Please check my below source and help how to resolve.

FIRST CALLING "POST" METHOD- WORKING FINE

NSString *post =[[NSString alloc] initWithFormat:@"grant_type=client_credentials"];

    NSData *postData = [post dataUsingEncoding:NSASCIIStringEncoding
                          allowLossyConversion:YES];


    NSMutableURLRequest *request = [[NSMutableURLRequest
                                     alloc] init];
    [request setURL:[NSURL URLWithString:@"https://example.com/oauth/token"]];
    [request setHTTPMethod:@"POST"];
    [request setValue:@"application/json" forHTTPHeaderField:@"Accept"];
    [request setValue:@"application/x-www-form-urlencoded" forHTTPHeaderField:@"enctype"];
    [request setValue:@"xxxxxxxxxx"] forHTTPHeaderField:@"Authorization"];
    [request setValue:@"application/x-www-form-urlencoded" forHTTPHeaderField:@"Content-Type"];
    [request setValue:@"application/x-www-form-urlencoded" forHTTPHeaderField:@"enctype"];
    [request setHTTPBody:postData];
    [request setTimeoutInterval:120];

    AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager];
    manager.responseSerializer = [AFHTTPResponseSerializer serializer];
    manager.securityPolicy.allowInvalidCertificates = YES;
    [manager.requestSerializer setTimeoutInterval:120];
    [post release];
    AFHTTPRequestOperation *operation2 = [[AFHTTPRequestOperation alloc] init];


    operation2 = [manager HTTPRequestOperationWithRequest:request success:^(AFHTTPRequestOperation *operation, id responseObject) {
        NSLog(@"JSON: %@", responseObject);
        NSHTTPURLResponse *response = (NSHTTPURLResponse *)operation.response;
        NSLog(@"Response: %@", operation.responseString);

        NSLog(@"%ld",  (long)response.statusCode);

        NSData* data=[operation.responseString dataUsingEncoding:NSUTF8StringEncoding];

        NSString *response1 = [[NSString alloc] initWithBytes:[data bytes] length:[data length] encoding: NSUTF8StringEncoding];

        [[NSNotificationCenter defaultCenter] postNotificationName:@"check_auth_token_init" object:[[ResponseHandler instance] parseToken:response1]];

        [[UIApplication sharedApplication] setNetworkActivityIndicatorVisible:NO];




    } failure:^(AFHTTPRequestOperation *operation, NSError *error) {
        NSLog(@"Error: %@", operation.responseString);

    }];
    [operation2 start];

SECOND CALLING "GET" METHOD- EXC_BAD_ACCESS

  NSMutableURLRequest *request = [[NSMutableURLRequest
                                     alloc] init];
    [request setURL:[NSURL URLWithString:@"https://example.com/stu/groups/"]];
    [request setHTTPMethod:@"GET"];
    [request setValue:@"testing" forHTTPHeaderField:@"Authorization"];
    [request setValue:@"application/json" forHTTPHeaderField:@"Accept"];
    [request setValue:@"application/x-www-form-urlencoded" forHTTPHeaderField:@"Content-Type"];


  //Here i tried to internalize "AFHTTPRequestOperationManager" but im getting EXC_BAD_ACCESS Please check attached screen shots

    AFHTTPRequestOperationManager *manager = [[AFHTTPRequestOperationManager alloc] init];



    manager.securityPolicy.allowInvalidCertificates = YES;

    // Configure Request Operation Manager
    [manager setResponseSerializer:[AFJSONResponseSerializer serializer]];

    // Send Request
    AFHTTPRequestOperation *operation = [manager HTTPRequestOperationWithRequest:request success:^(AFHTTPRequestOperation *operation, id responseObject) {
        NSLog(@"JSON: %@", responseObject);


    } failure:^(AFHTTPRequestOperation *operation, NSError *error) {
        NSLog(@"Error: %@", operation.responseString);

    }];
    [operation start];

enter image description here

Upvotes: 2

Views: 551

Answers (1)

mattt
mattt

Reputation: 19544

The warning "Method possibly missing a [super dealloc] call" suggests that you're compiling AFNetworking without ARC, which would explain why objects are being prematurely deallocated.

Please follow the installation instructions provided in the AFNetworking README to ensure that everything is configured correctly.

Upvotes: 2

Related Questions