【问题标题】:Is there a quicker / better way to clear the iPhone Simulator cache than deleting its directory?是否有比删除其目录更快/更好的方法来清除 iPhone 模拟器缓存?
【发布时间】:2012-01-09 13:31:25
【问题描述】:

所以我对 iOS 开发还是相当陌生,我发现自己经常需要删除 DerivedData 或 iPhone Simulator 目录的内容,才能从我的代码中实际执行。 Xcode 中的 Clean 与清空这些目录不同,对吧?如果没有,有没有比拖着 Finder 找到它们并清除它们更简单的方法?

【问题讨论】:

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

标签: ios iphone xcode ios-simulator


【解决方案1】:

66:99 和攀登:

是的,有比进入镇上的每一个模拟器并一次重置内容和设置更好的方法。而且比查看模拟器的目录并从其脚下拉出缓存要好得多

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

xcrun simctl erase all

安全有效。

单个设备见https://stackoverflow.com/a/26394597/218152

xcrun simctl erase [设备 ID]

【讨论】:

  • 这会擦除模拟器本身吗?所以之后我需要在 Xcode 的设备屏幕中重新添加它们?
  • 只是内容。在文档 (xcrun simctl help) 中,erase擦除设备的内容和设置。,不要与 delete 混淆:删除一个设备或所有不可用的设备。
  • 太棒了。鉴于此,我很想改变我的正确答案:)
  • @lukech:非常感谢。我在尝试节省 HD 上的内存时偶然发现了这个解决方案,并正在寻找 clean build folder 方法。并支持你保持这个问题活跃。
  • 这个命令需要永远运行,如何使用 uuid 选择目标 sim?
【解决方案2】:

iOS Simulator菜单中,有一个名为Reset Content and Settings...

的选项

这应该可以解决问题。

编辑:

为了让这个过程更快更简单,我添加了一个这样的快捷键...

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

然后选择快捷方式标签。 然后点击应用快捷方式

单击加号按钮添加另一个快捷方式。

最后:

  1. Application: 下拉菜单中单击选择 Simulator。如果它不存在,请滚动到应用程序列表的底部并选择“其他...”。然后在搜索中输入“模拟器”并从那里添加模拟器。
  2. 菜单标题: 文本框中键入 Erase All Content and Settings...
  3. Keyboard Shortcut:中输入您喜欢的快捷键。 (我使用命令周期)
  4. 点击添加按钮。

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


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

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

【讨论】:

  • iOS 模拟器不再出现在应用程序下拉菜单中。我应该只选择“xCode.app”吗?我在 OS 10.8.3 和 iOS Simulator 6.0 上。
  • 在查找器窗口中,转到您的应用程序文件夹。按住 Option 键单击 Xcode 并选择“显示包内容”。导航到Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/Applications/ 文件夹。你会看到iPhone Simulator.app。现在,在“设置”应用程序中,不要选择缺少的 iOS Simulator,而是选择 Other...。这将导致出现一个包含应用程序列表的窗口。现在,将 iPhone Simulator.app 从 Finder 窗口拖到单击 Other... 时出现的窗口。
  • 我来这里是为了寻找其他东西,但只是因为您的回答太好了,所以才完成了您的步骤。谢谢!
  • Reset Content and Settings 不会清除 VPN 上的客户端资产。我为此苦苦挣扎了一段时间,想知道为什么我的 CSS 动画除了模拟器之外的任何地方都可以工作,结果发现它正在缓存旧文件,即使我删除了内容和设置。唯一对我有用的是断开我的 VPN 并重新启动我的虚拟机然后重新连接(我使用的框架为我的所有资产版本)——如果只是测试东西,你也可以手动对其进行版本控制,但这很烦人。这是苹果应该解决的问题;只有在为我测试 iOS 时才会发生这种情况。
  • 如果@JeffWolski指出的路径Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/Applications/找不到模拟器,可以通过搜索词simulator.app搜索
【解决方案3】:

对于 iOS 模拟器 (Safari) 上的 web 开发和测试:

  1. 在 iOS 模拟器和 Safari 都打开的情况下,转到 Safari > 开发 > iOS 模拟器,然后选择您的页面,您可以访问 Web Inspector 工具。

  2. 转到 Safari > Develop > Empty Caches 以清除 iOS Safari 上的缓存。

【讨论】:

  • @AdrianFlorescu 这是在 iOS Safari 上调试 Web 开发的解决方案,但我认为问题与 iOS 应用程序开发有关。
  • 不适用于带有远程调试器的 Safari 9.0.3。 “禁用缓存”也无效。
  • 这个设置对我没有任何作用(实际上并没有清除移动 safari 上的缓存)
  • 是的。看起来它不再清理iOS缓存了。我猜它过去是这样的......
  • 这是唯一可行的解​​决方案stackoverflow.com/a/51421939/1055015
【解决方案4】:

Web inspector new 具有禁用缓存 2020 解决方案的选项

【讨论】:

  • 谢谢!完美运行。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-01-10
  • 2021-01-03
  • 1970-01-01
  • 2011-08-31
  • 1970-01-01
相关资源
最近更新 更多