iOS NSURLSession侦听超时



我创建了一个简单的NSURLSession DownloadTask从URL下载,它的类具有NSURLSession委托:

@interface DownloadManager : NSObject <NSURLSessionDataDelegate, NSURLSessionDelegate, NSURLSessionDownloadDelegate, NSURLSessionTaskDelegate>
//...
NSURLSessionConfiguration *sessionConfiguration = [NSURLSessionConfiguration defaultSessionConfiguration];
[sessionConfiguration setTimeoutIntervalForRequest:30.0];
[sessionConfiguration setTimeoutIntervalForResource:60.0];
NSURLSession *session = [NSURLSession sessionWithConfiguration:sessionConfiguration];
NSURLSessionDownloadTask *downloadTask = [session downloadTaskWithURL:self.url];
[downloadTask resume];

然而,我找不到一个监听下载任务超时的协议方法。有没有办法监听超时(例如-我想在30.0秒后关闭进度对话框,但仍然没有收到数据)

我已经搜索了谷歌,但到目前为止还没有找到任何信息,所以我会在搜索更多信息时把这个问题留在这里。

非常感谢!

超时是NSURLSession在completionHandler块中给您的错误之一。它是NSURLErrorTimedOut = -1001

委托方法

- URLSession:task:didCompleteWithError:

如果是NSURLErrorTimedOut,请检查NSError,按照您的意愿进行

https://developer.apple.com/library/mac/documentation/Cocoa/Reference/Foundation/Miscellaneous/Foundation_Constants/#//apple_ref/doc/constant_group/URL_Loading_System_Error_Codes

相关内容

  • 没有找到相关文章

最新更新