我的应用程序必须确保始终有一个最小数量(可能5-10 MB)的空闲磁盘空间,以使它正确运行。我必须将重要数据保存到文件中,否则一切都将被破坏。
主要的问题是:如果用户下载了我的应用程序,而他正好拥有应用程序所需的大量磁盘空间(没有我在第一次启动时创建的数据),该怎么办?
当他现在启动应用程序时,我尝试做一些初步的设置-在这里,我必须写2-3 MB左右的文件,这个空间必须是免费的。
我怎样才能做到这一点呢?
发布于 2015-03-06 01:16:55
你可以做两件事:
首先,当应用程序启动时,可以使用NSFileManager.attributesForFilesystemofPath:
查找可用空间。如果空间的数量很低(5MB的空闲空间真的很低),您可以警告用户,甚至拒绝在您的应用程序中启动需要这个可用空间的操作。
其次,您可以创建一个划痕文件。如果您知道您需要5MB存储,那么也许您可以分配一个5MB文件并将该文件用于您的存储。
您没有指定需要在磁盘上存储什么,但是如果它是一个文件,那么您可以在5MB的划痕文件上写入这个数据,而不是打开一个新的文件。
这需要一些额外的簿记,但您确实得到了保证空间为您的数据。
发布于 2015-03-06 01:09:19
总之,你不能。你需要写你的代码,才能有一个初始启动,检查是否有足够的磁盘空间来进行初始设置,如果没有,则显示一个错误。我以前没有在iOS上尝试过这样做,所以我不知道沙箱允许你做什么。我必须在iOS文件系统文档中阅读。我建议你这么做。
https://stackoverflow.com/questions/28890012
复制相似问题