我遇到了一个问题,那就是后端速度慢,后台配置下载数据.
NSURLSessionConfiguration *sessionConfig = [NSURLSessionConfiguration backgroundSessionConfiguration:identifier];
_backgroundSession = [NSURLSession sessionWithConfiguration:sessionConfig delegate:self delegateQueue:nil];
NSURLSessionDownloadTask *downloadTask = [_backgroundSession downloadTaskWithURL:URL];
[downloadTask resume];
Run Code Online (Sandbox Code Playgroud)
如果连接已建立,但发送回数据需要超过60秒,则会发生超时.那样就好.然而,我遇到的行为是我没有得到错误.会话只发出一个新请求."再次给我数据".我不知道发生了什么.不在我的代码中,也没有调用我知道的委托方法.我只能访问服务器日志.它需要服务器大约68秒才能发回数据,但应用程序只是忽略它,因为它正在等待新请求.
一种解决方案是增加超时值.但我不喜欢它,它只适用于iOS 7.不是iOS 8.
sessionConfig.timeoutIntervalForRequest = 10 * 60.0;
Run Code Online (Sandbox Code Playgroud)
有没有人对此有任何见解?我在stackoverflow上找到了关于后台会话超时问题的链接.这是10个月大,但没有解决方案,只有人同意.
timeout background objective-c nsurlsession nsurlsessionconfiguration