错误域= NSPOSIXErrorDomain代码= 28“设备上没有剩余空间” UserInfo = {_ kCFStreamErrorCodeKey = 28,_kCFStreamErrorDomainKey = 1}

时间:2018-06-27 09:34:32

标签: ios sdwebimage

我们使用SDWebImage从网络下载远程图像。 SDWebImage使用NSURLSession下载图像。

但是我们收到了奇怪的错误日志,因为出现错误Error Domain=NSPOSIXErrorDomain Code=28 "No space left on device",所以某人无法显示图片 此错误很少发生,无法重现。

然后我们收集磁盘使用情况信息并进行创建文件测试。我们找不到异常现象。

当用户遇到问题时,请重新打开我们的应用,然后图像可以再次显示。

这很奇怪,有人遇到过同样的问题吗?我可以确定这不是SDWebImage问题,似乎是系统问题。

2 个答案:

答案 0 :(得分:0)

我在继续预取集合视图图像数据(更准确地在Texture的ASCollectionNode中使用willBeginBatchFetchWithContext)时遇到了相同的错误,内存增加到189MB并且抛出了错误。

https://www.bountysource.com/issues/65445186-error-domain-nsposixerrordomain-code-28-no-space-left-on-device-userinfo

但是我已经找到了解决方案,您应该尝试一下。

我认为您可以在收到错误时重试该请求,因为它只需要一点时间让系统为您释放更多空间。

答案 1 :(得分:0)

如果有人正在为该错误代码寻找iOS枚举:

#define ENOSPC          28              /* No space left on device */

所以我的检查代码如下:

error.code == ENOSPC && [error.domain isEqualToString:NSPOSIXErrorDomain]

当设备存储空间即将满(文件大小为160 MB,可用空间为60 MB)时,我在从Web加载文件的过程中发现了此错误。希望这会对别人有所帮助。