有比清除iPhone Simulator缓存目录更快或更有效的方法吗?


96

因此,我仍然是iOS开发的新手,而且我发现自己经常需要删除DerivedData或iPhone Simulator目录的内容,才能从我的代码中实际执行操作。在Xcode中清理与清空这些目录不同,对吗?如果没有,是否有比携带Finder清理并清除它们更简单的方法呢?


3年前也许这不是一个选择,但请查看我的答案,它对我有用!
Adrian Florescu 2015年

Answers:


124

66:99和登山:

是的,比进入城镇中的每个模拟器并一次重置一个内容和设置一个更好的方法。也好得多不是寻找到你的模拟器的目录,并从它的脚下猛拉缓存。

退出iPhone模拟器,然后xcrun在终端中运行:

xcrun simctl erase all

安全有效。

请参阅https://stackoverflow.com/a/26394597/218152了解单个设备

xcrun simctl擦除[设备ID]


但是,这会擦除模拟器本身吗?这样我以后需要在Xcode的“设备”屏幕中重新添加它们吗?
路加福音

1
只是内容。从文档(xcrun simctl help)中删除擦除设备的内容和设置。,不要与delete混淆:删除设备或所有不可用的设备。
SwiftArchitect

太棒了 试图根据此来切换我的正确答案:)
路加福音

@lukech:非常感谢。当我尝试在HD上保存内存时,我偶然发现了该解决方案,并且正在寻找一种clean build folder方法。并为您提供保持该问题活跃的道具。
SwiftArchitect

此命令需要永远运行,如何使用uuid选择目标sim?
the_prole18年

104

iOS Simulator菜单中,有一个名为“ 重置内容和设置...”的选项

这应该可以解决问题。

编辑:

为了使此操作更快,更轻松,我添加了一个像这样的快捷键...

在系统偏好设置中,选择键盘

键盘系统偏好设置

然后选择“ 快捷方式”选项卡。然后单击“ 应用程序快捷方式”

应用程式捷径 单击加号按钮以添加另一个快捷方式。

在此处输入图片说明 最后:

  1. 从“ 应用程序”下拉列表中单击“选择模拟器 ” 。如果不存在,请滚动到应用程序列表的底部,然后选择“其他...”。然后在搜索中键入“ simulator”,然后从那里添加Simulator。
  2. 键入抹掉所有内容和设置...进入菜单标题:文本框。
  3. 在“ 键盘快捷键”中输入您首选的快捷键。(我使用命令周期)
  4. 单击添加按钮。

在此处输入图片说明

现在,在iOS模拟器中,您只需使用新的快捷键即可重置。


如果模拟器未出现在下拉列表中:

  1. 在Finder窗口中,转到“应用程序”文件夹。
  2. 右键单击Xco​​de,然后选择“显示软件包内容”。
  3. 导航 Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/Applications/
  4. 您将看到iPhone Simulator.app。
  5. 现在,在“设置”应用中,选择“其他...”而不是选择缺少的iOS Simulator。
  6. 这将导致出现一个包含“应用程序”列表的窗口。
  7. 现在,将iPhone Simulator.app从Finder窗口拖到单击“其他...”时出现的窗口。

iOS模拟器不再出现在“应用程序”下拉列表中。我应该选择“ xCode.app”吗?我在使用iOS Simulator 6.0的OS 10.8.3。
potench

8
在查找器窗口中,转到“应用程序”文件夹。按住Option键单击Xco​​de,然后选择“显示软件包内容”。导航到该Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/Applications/文件夹。您会看到的iPhone Simulator.app。现在,在“设置”应用中,您无需选择iOS Simulator缺少的内容,而是选择Other...。这将导致出现一个包含“应用程序”列表的窗口。现在,iPhone Simulator.app从Finder窗口拖动到单击时出现的窗口Other...
杰夫·沃斯基

1
我来这里是在寻找其他东西,但是只是因为您的回答很好,所以您就按照步骤进行了。谢谢!
kodybrown 2014年

1
Reset Content and Settings不会清除VPN上的客户端资产。我苦苦挣扎了一段时间,想知道为什么我的CSS动画除了模拟器以外还可以在其他地方工作,却发现即使删除了内容和设置,它也在缓存旧文件。最终对我有用的是从VPN断开连接,然后重新启动我的VM,然后重新连接(该框架为我使用了我所有资产的版本)-如果只是测试东西,也可以手动对它们进行版本控制,但这很烦人。这是Apple应该修复的问题;仅在为我测试iOS时才会发生。
本尼

3
如果在Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/Applications/@JeffWolski指出的路径中找不到模拟器,则可以按搜索词进行搜索simulator.app
atulkhatri

8

对于在iOS Simulator(Safari)上进行Web开发和测试:

  1. 在同时打开iOS Simulator和Safari的情况下,转到Safari>开发> iOS Simulator,然后选择您要访问Web Inspector工具的页面。

  2. 转到Safari>开发>空缓存以清除iOS Safari上的缓存。


@AdrianFlorescu这是用于在iOS Safari上调试Web开发的解决方案,但我认为问题与iOS应用开发有关。
瑞安

4
在带有远程调试器的Safari 9.0.3上不起作用。“禁用缓存”也无效。
加马德里尔

1
此设置对我没有任何作用(实际上不会清除移动Safari上的缓存)
HandiworkNYC.com 2016年

是的 看起来它不再清除iOS缓存了。我猜它过去曾经做过
Yosh

这是唯一似乎正在工作的解决方案stackoverflow.com/a/51421939/1055015
Exlord '19
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.