iTunes应用程序被拒绝。
理由:
我们在iPhone上发现了应用程序中的一个或多个bug,在连接到IPv6网络的Wi上运行iOS 9.3.4。
具体来说,应用程序内容无法加载。
我们在NAT64网络(从mac安装)上测试了它,它运行得很好,但是苹果审查小组对IPv6网络有一个问题。
我们使用NSURLConnection来调用web服务,但是得到了零响应。
NSURLConnection:connectionDidFinishLoading:被调用,但在IPv6网络中获得零NSData响应,它在IPv4网络中运行良好
json解析代码
NSDictionary *dictionary = [NSJSONSerialization JSONObjectWithData:receivedData options:kNilOptions | NSJSONReadingAllowFragments | NSJSONReadingMutableContainers error:&error];获取解析错误的原因是零receivedData :数据无法读取,因为它的格式不正确
在IPv4网络中,以及在IPv6 connectionDidFinishLoading: called中都很好,但是为什么得到零响应呢?
发布于 2016-08-10 12:43:13
改变你的应用程序NSURLSession。使用此委托方法获取响应
service url =“您在这里解析您的url”;
NSURLSessionConfiguration *defaultConfigObject = [NSURLSessionConfiguration defaultSessionConfiguration];
NSURLSession *defaultSession = [NSURLSession sessionWithConfiguration: defaultConfigObject delegate: self delegateQueue: [NSOperationQueue mainQueue]];
NSURL * url = [NSURL URLWithString:serviceurl];
NSMutableURLRequest * urlRequest = [NSMutableURLRequest requestWithURL:url];
NSURLSessionDataTask * dataTask = [defaultSession dataTaskWithRequest:urlRequest];
[dataTask resume];在这个委托方法中,您只需复制和粘贴您的connectionDidFinishLoading、connectionDidReceiveResponse、connectionDidReceiveData、connectionDidFailWithError,就应该在(NSURLSession *)会话任务的其他部分:
- (void)URLSession:(NSURLSession *)session dataTask:(NSURLSessionDataTask *)dataTask
didReceiveResponse:(NSURLResponse *)response
completionHandler:(void (^)(NSURLSessionResponseDisposition disposition))completionHandler
{
NSLog(@"### handler 1");
[self.responseData setLength:0];
completionHandler(NSURLSessionResponseAllow);
}
- (void)URLSession:(NSURLSession *)session dataTask:(NSURLSessionDataTask *)dataTask
didReceiveData:(NSData *)data
{
}
- (void)URLSession:(NSURLSession *)session task:(NSURLSessionTask *)task
didCompleteWithError:(NSError *)error
{
if(error == nil)
{
NSLog(@"Download is Succesfull");
}
else
{
NSLog(@"Error %@",[error userInfo]);
}
}我觉得这对你有帮助。
https://stackoverflow.com/questions/38872768
复制相似问题