首页 > 解决方案 > 我的应用程序占用了 iPad 存储空间

问题描述

所以,我正在开发一个涉及绘图的 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。

然后我可以卸载它,但是一旦我重建应用程序,它就会恢复。我现在很迷茫...

标签: iosmemoryfilesystemsdiskspace

解决方案


好吧,事实证明,iOS 会自动将从 .documentDirectory 中删除的所有内容放入同一文件夹中的隐藏垃圾箱中。

因此,我存储在 .documentDirectory 然后删除的所有图像都进入了 .trash 文件夹,我不知道如何在 iPad 上查看,只是不会让我知道发生了这种情况。我想我对 iStuff 还不是很熟悉。

所以我不得不在这个文件夹上运行我的清洁序列来摆脱它..


推荐阅读