iOS:是否可以在iOS应用程序中仅为读取分配可用磁盘空间

iOS:是否可以在iOS应用程序中仅为读取分配可用磁盘空间,ios,Ios,我想知道是否有可能分配免费的光盘空间,只用于在iOS应用程序中阅读。这个问题的背景是一个安全问题 假设您有一个在沙箱中运行的应用程序A,它将用户文档存储在其应用程序专用文件夹中。此数据使用一些只能从应用程序A访问的磁盘空间。由于沙箱,应用程序B无法访问此用户文档。如果应用程序A删除用户文档,则只会删除引用文档的索引节点。文档使用的磁盘空间已经存在,但没有人链接到它,因此标记为可用磁盘空间。如果应用程序B现在分配整个可用磁盘空间,并按字节方式读取整个分配的空间,其中也包括用户文档,则应用程序B可以

我想知道是否有可能分配免费的光盘空间,只用于在iOS应用程序中阅读。这个问题的背景是一个安全问题

假设您有一个在沙箱中运行的应用程序A,它将用户文档存储在其应用程序专用文件夹中。此数据使用一些只能从应用程序A访问的磁盘空间。由于沙箱,应用程序B无法访问此用户文档。如果应用程序A删除用户文档,则只会删除引用文档的索引节点。文档使用的磁盘空间已经存在,但没有人链接到它,因此标记为可用磁盘空间。如果应用程序B现在分配整个可用磁盘空间,并按字节方式读取整个分配的空间,其中也包括用户文档,则应用程序B可以访问用户文档。理论上

为了保护用户文档,有一些想法。首先是文件的加密。通过删除,它们仍然是加密的。但它们仍然可以访问。下一个想法是在删除之前覆盖文档。但是磁盘空间是一个闪存,这意味着在数据被更改的那一刻,它们会不确定地移动到闪存中的其他位置。这意味着这也无济于事

我发现使用
UnsafeMutableRawPointer.allocate
然后用
UnsafeMutableRawPointer.load
按字节读取分配的空间。我不知道这是否也适用于磁盘空间。在这篇文章中,我读到有三个选项可以访问磁盘空间
FileHandle
FileManager
,和
数据。但是,我认为,它们都只能读取文件,而不能读取字节的磁盘空间


在苹果的文档档案中,我找不到答案,不管这种情况是否真的可能。我希望其他人能给我一个提示,让我可以找到我正在寻找的信息,或者为我的问题找到答案。

文件系统中的每个文件都用唯一的密钥加密;即使恶意应用程序请求磁盘分配并尝试读取可用空间,它也不会获得任何信息,因为它没有必要的解密密钥

您可以在Apple中阅读更多关于此的信息:

文件数据保护 除了iOS设备内置的硬件加密功能外,苹果还使用了一种称为数据保护的技术来进一步保护设备闪存中存储的数据。数据保护允许设备响应常见事件,如来电,但也支持对用户数据进行高级别加密。默认情况下,关键系统应用程序(如消息、邮件、日历、联系人、照片和健康数据值)使用数据保护,而安装在iOS 7或更高版本上的第三方应用程序会自动接收此保护


非常感谢你。这正是我要找的。