• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

ios - AFHTTPRequestOperationManager 的 EXC_BAD_ACCESS

[复制链接]
菜鸟教程小白 发表于 2022-12-12 10:51:24 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题

首先调用“post 方法”,它使用 AFHTTPRequestOperationManager 工作正常。但是第二次我为同一个 AFHTTPRequestOperationManager 调用了 get 方法,得到了 EXC_BAD_ACCESS。请检查我的以下来源并帮助解决。

第一次调用“POST”方法——工作正常

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"OST"];
    [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];

第二次调用“获取”方法-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



Best Answer-推荐答案


警告“方法可能缺少 [super dealloc] 调用”表明您正在编译没有 ARC 的 AFNetworking,这可以解释为什么对象被过早地释放。

请按照 AFNetworking README 中提供的安装说明确保一切配置正确。

关于ios - AFHTTPRequestOperationManager 的 EXC_BAD_ACCESS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24901676/

回复

使用道具 举报

懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关注0

粉丝2

帖子830918

发布主题
阅读排行 更多
广告位

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap