NSURLSession didCompleteWithError:与NSError调用是零

情景是当应用程序正在进行上传的时候,将应用程序多次应用到后台和前台,didCompleteWithError:应用程序前台调用方法,错误参数为null。 概率是1/3。

我怎样才能找出错误的参数不给任何东西。

问题是didCompleteWithError 报告客户端错误,否则为零。 iOS doc说:

“服务器错误不会通过错误参数报告, 委托人通过错误参数收到的唯一错误是客户端错误 ,例如无法parsing主机名或连接到主机。

这是链接到文档。

如果你想检查会话的错误,你必须实现会话协议委托

- URLSession:didBecomeInvalidWithError: 

请记住在停止使用之后使会话无效。 所以如果你这样创build一个NSURLSession:

 NSURLSessionConfiguration *backgroundConfigurationObject = [NSURLSessionConfiguration backgroundSessionConfigurationWithIdentifier:@"applycasession"]; self.backgroundSession = [NSURLSession sessionWithConfiguration:backgroundConfigurationObject delegate:self delegateQueue:[NSOperationQueue mainQueue]]; 

当你完成使用它,你必须打电话给:

  [self.backgroundSession invalidateAndCancel]; 

请在此链接阅读有关“ URL会话的生命周期 ”的文档