【问题标题】:Does iOS purge disk usage in the document directory?iOS 是否会清除文档目录中的磁盘使用量?
【发布时间】:2020-05-04 15:17:52
【问题描述】:

除了手机磁盘上实际可用的空间外,我找不到 iOS 应用程序可以在其文档目录中消耗的磁盘空间量的限制。

  1. 这是否意味着如果手机有可用的应用程序可以使用 100GB 的文档目录空间?

  2. 如果另一个应用程序需要空间,但由于这个资源占用应用程序而没有可用空间,iOS 是否会清除滥用者的磁盘空间?

【问题讨论】:

    标签: ios nsfilemanager


    【解决方案1】:

    您可以在此处找到解释存储数据的各种选项的文档:

    https://developer.apple.com/library/archive/documentation/FileManagement/Conceptual/FileSystemProgrammingGuide/FileSystemOverview/FileSystemOverview.html

    具体来说,请查看Table 1-1 Commonly used directories of an iOS app,它应该会回答您的所有问题。

    1. 除了设备上可用的存储空间外,您可以在那里存储的数据量没有限制。

      但是,文档目录仅用于“用户生成的内容”。它将被备份到 iCloud,因此它仅适用于用户希望备份的文件。如果审核团队认为您正在使用它来存储应该在 temp 目录中的支持文件(系统会在空间不足时清除该目录),那么您的应用将无法通过审核。

      The iCloud File Storage Container 部分详细介绍了被视为用户数据的类型:

      “用户在应用程序的用户界面中创建和查看的文档——例如 Pages、Numbers 和 Keynote 中的文档浏览器应存储在 Documents 目录中。另一个可能进入 Documents 目录的文件示例已保存游戏,同样因为它们是应用程序可能提供某种选择方法的东西。

      应用不希望用户直接看到或修改的任何内容都应放在 Documents 目录之外。应用程序可以在容器目录中创建任何子目录,因此它们可以根据需要排列私有文件。”

    2. 当空间不足时,系统不会清除 Documents 目录的内容。

    【讨论】:

    • 该链接是一个很好的资源。我们是否知道为 iOS 应用程序清除 tmp 文件夹的频率?我在 macOS 上读过,它可以是三天内未访问的任何文件。
    • 据我所知,没有这方面的文档(它可能随时发生)。 tmp 文件夹用于存放不需要在应用程序启动之间保留的数据 - 如果您希望数据在用户下次启动应用程序时存在,则不要将其放在那里。如果您想存储在应用程序启动之间持续存在的数据,您可以使用Library 文件夹。我相信Library 文件夹中的任何内容都不会在存储空间不足的情况下被系统清理。请注意,它已备份到 iCloud,因此您可能希望在有意义的情况下从备份中排除文件。
    猜你喜欢
    • 2016-05-20
    • 1970-01-01
    • 1970-01-01
    • 2012-12-07
    • 1970-01-01
    • 1970-01-01
    • 2016-01-29
    • 2011-12-22
    • 1970-01-01
    相关资源
    最近更新 更多