我的应用程序在我的 iPad 的存储空间中占用了幻影 space
My app is taking phantom space on my iPad's storage
所以,我正在为 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 space,即使我清除了所有文档目录(使用查找器,因为这个是可见的) 和支持文件夹:
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。
然后我可以卸载它,但是一旦我重建应用程序,它又回来了。
我现在很困惑...
好吧,事实证明,iOS 会自动将从 .documentDirectory 中删除的所有内容放入同一文件夹内的隐藏回收站中。
所以我存储在 .documentDirectory 上然后删除的所有图像都进入了 .trash 文件夹,我不知道如何在 iPad 上看到它只是不让我知道发生了这样的事情。我想我对 iStuff 还不是很熟悉。
所以我不得不运行清理这个文件夹以摆脱它..
所以,我正在为 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 space,即使我清除了所有文档目录(使用查找器,因为这个是可见的) 和支持文件夹:
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。
然后我可以卸载它,但是一旦我重建应用程序,它又回来了。 我现在很困惑...
好吧,事实证明,iOS 会自动将从 .documentDirectory 中删除的所有内容放入同一文件夹内的隐藏回收站中。
所以我存储在 .documentDirectory 上然后删除的所有图像都进入了 .trash 文件夹,我不知道如何在 iPad 上看到它只是不让我知道发生了这样的事情。我想我对 iStuff 还不是很熟悉。
所以我不得不运行清理这个文件夹以摆脱它..