因此,我正在为iPad设计一个涉及绘图的应用程序。 它在两个位置存储文件:userDocument:
FileManager.default.url( for: .documentDirectory, in: .userDomainMask, appropriateFor: nil, create: true )
和appSupportFolder:
FileManager.default.url( for: .applicationSupportDirectory, in: .userDomainMask, appropriateFor: nil, create: true )
现在发生的是,iOS告诉我我的应用程序占用了18GB的磁盘空间,即使我清除了所有文档目录(使用查找程序,因为该目录可见)和支持文件夹:
if let suppPath = try? FileManager.default.url( for: .applicationSupportDirectory, in: .userDomainMask, appropriateFor: nil, create: true ),
let URLs = try? FileManager.default.contentsOfDirectory( atPath: suppPath.path )
{
for url in URLs
{
let completePath = suppPath.appendingPathComponent( url )
try? FileManager.default.removeItem( at: completePath )
}
}
在此之后,我什至不知道如何检查该文件夹的内容,但是我运行了这个:
func ScanDir( url: URL, depth: Int )
{
var string = ""
for _ in 0 ..< depth
{
string += "----"
}
string += "\(url.lastPathComponent)"
debugPrint( string )
if let URLs = try? FileManager.default.contentsOfDirectory( atPath: url.path )
{
for urlstring in URLs
{
ScanDir( url: url.appendingPathComponent( urlstring ), depth: depth+1 )
}
}
}
那么扫描的结果就是
"Application Support"
以前,我可以看到我所有的项目,导出的文件,画笔等... 因此,它似乎奏效了。 但是,该应用仍可达到18GB。
然后我可以将其卸载,但是一旦我重新构建该应用程序,它就会返回。 我现在很困惑...
答案 0 :(得分:0)
事实证明,iOS会自动将从.documentDirectory中删除的所有内容放入同一文件夹内的隐藏垃圾桶中。
因此,我存储在.documentDirectory上然后删除的所有图像都放在了.trash文件夹中,我不知道如何在iPad上观看,只是不让我知道这种情况正在发生。我想我对iStuff还不是很熟悉。
所以我必须在该文件夹上运行清理序列才能清除它..