模拟器上的NSURLSession上的EXC_BAD_ACCESS

时间:2016-03-25 22:28:29

标签: ios objective-c exc-bad-access nsurlsession

我对目标C很新。开始使用NSURLSession处理回调。应用程序在设备上运行完美。但是模拟器会出现一些错误。

我正在尝试执行POST并拥有一个委托,在收到响应时通知调用方。我能够获得预期的数据并且不会破坏我的应用程序。但是,当我使用lldb调试器逐步执行指令时,它会给我一个EXC BAD ACCESS,并且错误代码会因不同的模拟器而发生变化。这是iPhone 5模拟器上的instruction and error.,这是iPhone 6模拟器上的instruction and error。 以下是回叫的代码。

NSData *postData = [NSJSONSerialization dataWithJSONObject:dict options:NSJSONWritingPrettyPrinted error:nil];
NSString *postLength = [NSString stringWithFormat:@"%lu",(unsigned long)[postData length]];

NSMutableURLRequest *request = [[NSMutableURLRequest alloc] init];

[request setURL:[NSURL URLWithString:urlString]];
[request setHTTPMethod:@"POST"];
[request setValue:postLength forHTTPHeaderField:@"Content-Length"];
[request setValue:@"application/json" forHTTPHeaderField:@"Content-Type"];

[request setHTTPBody:postData];

NSURLSession *session = [NSURLSession sessionWithConfiguration:[NSURLSessionConfiguration defaultSessionConfiguration]];

// Send the request to the server
NSURLSessionDataTask *dataTask=[session dataTaskWithRequest:request completionHandler:^(NSData *data, NSURLResponse *response, NSError *error){

    [self.delegate sendStatus:@"FetchCompleted!"];
}];

[dataTask resume];

我的方案是僵尸启用,它没有记录任何僵尸对象。我很确定上面的代码是错误的根本原因,因为我试图通过评论来调试它并且工作正常。任何帮助,将不胜感激。下面附有堆栈跟踪。谢谢!

0 个答案:

没有答案