是否有比删除其目录更快/更好的方法来清除 iPhone 模拟器缓存?
Posted
技术标签:
【中文标题】是否有比删除其目录更快/更好的方法来清除 iPhone 模拟器缓存?【英文标题】:Is there a quicker / better way to clear the iPhone Simulator cache than deleting its directory? 【发布时间】:2012-01-09 13:31:25 【问题描述】:所以我对 ios 开发还是相当陌生,我发现自己经常需要删除 DerivedData 或 iPhone Simulator 目录的内容,才能从我的代码中实际执行。 Xcode 中的 Clean 与清空这些目录不同,对吧?如果没有,有没有比拖着 Finder 找到它们并清除它们更简单的方法?
【问题讨论】:
3 年前也许这不是一个选择,但请检查我的答案,它对我有用! 【参考方案1】:66:99 和攀登:
是的,有比进入镇上的每一个模拟器并一次重置内容和设置更好的方法。而且比查看模拟器的目录并从其脚下拉出缓存要好得多。
退出 iPhone 模拟器,然后在终端中运行 xcrun
:
xcrun simctl erase all
安全有效。
单个设备见https://***.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...
的选项这应该可以解决问题。
编辑:
为了让这个过程更快更简单,我添加了一个这样的快捷键...
在系统偏好设置中,选择键盘
然后选择快捷方式标签。 然后点击应用快捷方式
单击加号按钮添加另一个快捷方式。
最后:
-
从 Application: 下拉菜单中单击选择 Simulator。如果它不存在,请滚动到应用程序列表的底部并选择“其他...”。然后在搜索中输入“模拟器”并从那里添加模拟器。
在 菜单标题: 文本框中键入 Erase All Content and Settings...。
在Keyboard Shortcut:中输入您喜欢的快捷键。 (我使用命令周期)
点击添加按钮。
现在,在您的 iOS 模拟器中,您只需使用新的快捷键即可重置。
如果模拟器没有出现在下拉列表中:
-
在 Finder 窗口中,转到您的应用程序文件夹。
右键单击 Xcode 并选择“显示包内容”。
导航到
Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/Applications/
您将看到 iPhone Simulator.app。
现在,在“设置”应用中,选择“其他”而不是“缺少的 iOS 模拟器”,而是选择“其他...”。
这将导致出现一个包含应用程序列表的窗口。
现在,将 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
不会清除 *** 上的客户端资产。我为此苦苦挣扎了一段时间,想知道为什么我的 CSS 动画除了模拟器之外的任何地方都可以工作,结果发现它正在缓存旧文件,即使我删除了内容和设置。唯一对我有用的是断开我的 *** 并重新启动我的虚拟机然后重新连接(我使用的框架为我的所有资产版本)——如果只是测试东西,你也可以手动对其进行版本控制,但这很烦人。这是苹果应该解决的问题;只有在为我测试 iOS 时才会发生这种情况。
如果@JeffWolski指出的路径Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/Applications/
找不到模拟器,可以通过搜索词simulator.app
搜索【参考方案3】:
对于 iOS 模拟器 (Safari) 上的 web 开发和测试:
在 iOS 模拟器和 Safari 都打开的情况下,转到 Safari > 开发 > iOS 模拟器,然后选择您的页面,您可以访问 Web Inspector 工具。
转到 Safari > Develop > Empty Caches 以清除 iOS Safari 上的缓存。
【讨论】:
@AdrianFlorescu 这是在 iOS Safari 上调试 Web 开发的解决方案,但我认为问题与 iOS 应用程序开发有关。 不适用于带有远程调试器的 Safari 9.0.3。 “禁用缓存”也无效。 这个设置对我没有任何作用(实际上并没有清除移动 safari 上的缓存) 是的。看起来它不再清理iOS缓存了。我猜它过去是这样的...... 这是唯一可行的解决方案***.com/a/51421939/1055015【参考方案4】:Web inspector new 具有禁用缓存 2020 解决方案的选项
【讨论】:
谢谢!完美运行。以上是关于是否有比删除其目录更快/更好的方法来清除 iPhone 模拟器缓存?的主要内容,如果未能解决你的问题,请参考以下文章
Java 中是不是有比 Xalan/Xerces 更快的 XML 解析器 [关闭]