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会话的生命周期 ”的文档