场景在上传过程中多次将应用程序带到后台和前台,didCompleteWithError: 在将应用程序带到前台时调用方法,错误参数为空。概率是 1/3。
我如何找出哪里出了问题,因为错误参数没有给出任何东西。
场景在上传过程中多次将应用程序带到后台和前台,didCompleteWithError: 在将应用程序带到前台时调用方法,错误参数为空。概率是 1/3。
我如何找出哪里出了问题,因为错误参数没有给出任何东西。
问题是 didCompleteWithError只报告客户端错误,否则为零。iOS 文档说:
“服务器错误不会通过错误参数报告。 您的委托通过错误参数收到的唯一错误是客户端错误,例如无法解析主机名或无法连接到主机。 ”
这是文档的链接。
如果要检查会话的错误,则必须实现会话协议委托
- URLSession:didBecomeInvalidWithError:
请记住在停止使用会话后使会话无效。所以如果你像这样创建一个 NSURLSession:
NSURLSessionConfiguration *backgroundConfigurationObject = [NSURLSessionConfiguration backgroundSessionConfigurationWithIdentifier:@"applycasession"];
self.backgroundSession = [NSURLSession sessionWithConfiguration:backgroundConfigurationObject delegate:self delegateQueue:[NSOperationQueue mainQueue]];
当你完成使用它时,你必须调用:
[self.backgroundSession invalidateAndCancel];
请在此链接阅读有关“ URL Session 的生命周期”的文档