我们有一个企业应用程序,我们一直在分发企业许可证。
这是一款离线应用,用户在线时可以同步数据和图片。大约有3万张图片,总大小约为3GB,用户在线时必须下载。我们使用SDWebImage下载图像。我们已将图像下载到文档目录中,但我们没有将它们标记为未备份。
最近,我们收到了客户的投诉,他们在iPad上同步了所有图像后,图像可以使用2-3天,并在几天后自动删除(可以通过设置验证)。
我们检查并发现即使设备上有足够的可用空间,图像也会被删除,并且在代码中没有任何地方我们编写任何删除所有图像的语句。似乎iOS正在处理磁盘空间并清除任何超过3GB的文件夹。
有没有人想出这样的情况。我们在文档目录中保存图像是否有问题?我们是否应该在保存文档文件夹时将它们标记为未备份,这是否必须导致问题?我们是否应该在缓存目录中下载图像,但是在缓存目录中,根据文档,iOS会在磁盘空间不足时删除文件。
我们使用SDWebManager将图像保存到文档目录中,这是代码。
func downloadImages(_ imageUrl: String) {
let sdManager = SDWebImageManager.shared()
sdManager.cachedImageExists(for: URL(string: imageUrl), completion: { (exist) in
if !exist {
sdManager.imageDownloader?.downloadImage(with: URL(string: imageUrl), options: .lowPriority, progress: { (receivedSize, expectedSize, targetURL) in
}, completed: { (image, data, error, finished) in
let imageCache = SDImageCache.shared()
if image != nil {
imageCache.store(image, forKey: imageUrl, completion: nil)
}
})
}
})
}
非常感谢任何帮助。