如何在 iOS 设备上模拟磁盘空间不足的情况?

Posted

技术标签:

【中文标题】如何在 iOS 设备上模拟磁盘空间不足的情况?【英文标题】:How to simulate an out of disk space condition on iOS devices? 【发布时间】:2012-11-22 18:04:26 【问题描述】:

我想测试一些我有的代码来管理没有足够可用磁盘空间来完成操作的情况。

但是,我无法实现这种情况。我尝试从 iTunes 同步内容以填满设备,但要么我获得了太多可用磁盘空间,要么内容将超过设备容量,iTunes 将不允许同步。

我确信必须有一种更简单、更好的策略来在设备上测试这种情况,但我想不通。我将不胜感激,并提供您可以分享的提示或经验。

【问题讨论】:

【参考方案1】:

装满设备,直到它在 iTunes 中几乎达到极限,然后设置循环以将较大的文件复制到您的 Documents 目录中。每次复制时,给它一个唯一的名称(使用 UUID)。使用界面中的控件或计时器激活循环以运行多次。

【讨论】:

这仍然有点麻烦,但它确实似乎是唯一的方法;非常感谢您的回答! 这里有一个提示:要通过 iTunes 填满您的设备,您可以使用以下命令在 Mac 终端中创建一个大型虚拟文件:mkfile -n 1g ~/Desktop/LargeDummyFile。这将创建一个 1 GB 大的文件。然后,您可以通过 iTunes 传输此文件以尽快填满空间。【参考方案2】:

这是一个愚蠢的想法。

    越狱您的设备 ssh 进入根目录 执行一个基本上实现此算法的脚本(zsh?):
def logbomb(tries=5):
    try:
        for i in range(100):
            pass
            # write pow(2, i) many bytes into a log file in /private/var/tmp
    catch IOError:
        logbomb(tries - 1)

到最后,您应该会得到一个非常塞满的私人分区。如果没有接近,请稍微增加尝试次数。

【讨论】:

感谢您的建议。但是,我不希望越狱我的测试设备。抱歉,我应该在原始问题中指定这一点。

以上是关于如何在 iOS 设备上模拟磁盘空间不足的情况?的主要内容,如果未能解决你的问题,请参考以下文章

-bash: 无法为立即文档创建临时文件: 设备上没有空间

虚拟机里磁盘空间不足怎么弄

Mac清理磁盘空间(二)

如何扩大电脑磁盘容量

mac 上格式化磁盘出现MediaKit报告设备上的空间不足以执行请求的解决办法

iOS 持久缓存目录