gpt4 book ai didi

ios - AFHTTPRequestOperationManager 的 EXC_BAD_ACCESS

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:04:39 26 4
gpt4 key购买 nike

首先使用 AFHTTPRequestOperationManager 调用“post 方法”,它的工作正常。但是我第二次为同一个 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:@"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];

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

最佳答案

警告“Method possibly missing a [super dealloc] call”表明您正在编译没有 ARC 的 AFNetworking,这可以解释为什么对象会被过早释放。

请按照 AFNetworking README 中提供的安装说明进行操作,以确保一切配置正确。

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

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com