背景
我正在创建一系列请求来获取文件 block 。 block 大小保持不变,因此请求数可能会根据我正在下载的文件而变化。对于较小的文件,因此请求数量较少,我似乎可靠地成功了。然而,一旦我的请求链达到 10+ 大概,我就开始出错。
错误
我收到似乎是 Alamofire 的错误。
错误代码 -999 已取消。
寻找其他有目的的解决方案
根据我所做的搜索,这似乎发生在 session 管理器被释放
或 另一个请求在我收到前一个请求的响应之前被启动
.
我将我的 session 管理器设为静态,如其他一些帖子所述,以处理解除分配问题,但我仍然遇到此错误。
我认为在第一个请求完成之前不会调用下一个请求,因为我的日志似乎是按顺序打印出来的,而且失败是相当随机的。我希望请求能够非常可靠地覆盖。
是否还有其他原因导致出现此错误代码?
其他日志
NetworkFilesClient.swift:351 - Error downloading chunk URL: MY_URL_HERE,
Range: bytes=29360128-33554432,
Error: Error Domain=NSURLErrorDomain Code=-999 "cancelled"
UserInfo={NSErrorFailingURLKey=MY_URL_HERE,
NSLocalizedDescription=cancelled,
NSErrorFailingURLStringKey=MY_URL_HERE}
最佳答案
什么对我有用:
sessionManager.session.finishTasksAndInvalidate()
我把它放在响应处理的末尾。为什么?没有线索...
关于ios - 正在取消 Alamofire 请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43458554/