我正在使用NSURLSession.I进行REST服务调用,我已经为NSURLSessionConfiguration.HTTPAdditionalHeaders.中的webservice设置了内容类型下面的代码在iOS 7.0到iOS 8.1.3中运行得非常好。但是在iOS 8.3中,当在HTTPAdditionalHeaders中设置内容类型时,web服务响应数据以零字节的形式返回。
方法1:
NSMutableURLRequest *urlRequest = [[NSMutableURLRequest alloc] init];
NSData *postData = [dataToBeSent dataUsingEncoding:NSUTF8StringEncoding allowLossyConversion:YES];
[urlRequest setHTTPBody:postData];
[urlRequest setHTTPShouldHandleCookies:YES];
[urlRequest setURL:urlOfService];
[urlRequest setHTTPMethod:@"POST"];
NSURLSessionConfiguration *sessionConfiguration = [NSURLSessionConfiguration defaultSessionConfiguration];
sessionConfiguration.HTTPAdditionalHeaders = @{@"Content-Type" : @"application/json"};
NSURLSessionDataTask *postDataTask = [session dataTaskWithRequest:urlRequest completionHandler:^(NSData *data, NSURLResponse *response, NSError *error) {
}];如果我按照下面的方式修改上述代码以设置NSMutableURLRequest中的内容类型,我将从iOS8.3中的webservice接收数据。我不知道是什么导致了这个问题。而且,我没有看到任何人报告这一问题。我只想知道我的第一种调用web服务的方式是一种推荐的方式,还是我在这里做错了什么?如果第一种调用web服务的方法是错误的,那么它为什么要在除8.3之外的所有其他iOS版本上工作呢?
方法2:
NSMutableURLRequest *urlRequest = [[NSMutableURLRequest alloc] init];
NSData *postData = [dataToBeSent dataUsingEncoding:NSUTF8StringEncoding allowLossyConversion:YES];
[urlRequest setHTTPBody:postData];
[urlRequest setHTTPShouldHandleCookies:YES];
[urlRequest setURL:urlOfService];
[urlRequest setHTTPMethod:@"POST"];
[urlRequest addValue:@"application/json" forHTTPHeaderField:@"Content-Type"];
NSURLSessionConfiguration *sessionConfiguration = [NSURLSessionConfiguration defaultSessionConfiguration];
NSURLSessionDataTask *postDataTask = [session dataTaskWithRequest:urlRequest completionHandler:^(NSData *data, NSURLResponse *response, NSError *error) {
}];发布于 2015-04-28 12:59:27
由于错误(特性?),您必须使用第二种方法。在iOS 8.3SDK中http://openradar.appspot.com/20498383
发布于 2015-04-15 11:17:20
我看不出你的代码有什么错误。但也许值得尝试使用AFNetworking。
该库非常完整,在内容类型、异步连接等方面具有很大的灵活性。我认为我们无法预测新的iOS版本的行为,因为它们很快就会减少很多内容。AFNetworking一直在被更新。
您可能必须使用请求序列化。我把你链接到的页面上有几个例子。
https://stackoverflow.com/questions/29648260
复制相似问题