macOS Xcode CoreSimulator 文件夹很大。可以删除内容吗?

Posted

技术标签:

【中文标题】macOS Xcode CoreSimulator 文件夹很大。可以删除内容吗?【英文标题】:Is it okay to delete the macOS Xcode CoreSimulator devices folder? 【发布时间】:2016-01-29 21:27:23 【问题描述】:

我的~/Library/Developer/CoreSimulator/Devices 文件夹大小为26 Gb

只删除所有内容是否安全?这些文件会自动重新生成吗?

【问题讨论】:

【参考方案1】:

尝试在您的终端中运行xcrun simctl delete unavailable

原答案:Xcode - free to clear devices folder?

【讨论】:

您的回答帮助我将 CoreSimulator/Devices 减少到 230MB! 我也是,这对清除旧的模拟器图像很有帮助。 @EralpB 哦,不,我 2200 美元的机器运行缓慢。我想我最好升级到新的 3000 美元型号之一。 执行此操作并删除 ios DeviceSupport 文件夹为我提供了 40 GB 的存储空间。 iOS DeviceSupport 文件夹会超时累积垃圾,因此不时删除是安全的 谢谢! 15.22 -> 2.48。 Xcode 应该自动执行此操作。他们应该创建一个功能来清理/修剪存储【参考方案2】:

该目录是您的用户数据的一部分,您可以删除任何用户数据而不会严重影响 Xcode。您可以删除整个 CoreSimulator/ 目录。当您进行下一次模拟器运行时,Xcode 将在那里为您重新创建新实例。如果您可以承受丢失任何以前的应用程序模拟器数据的情况,这是获得空间的简单方法。

更新: 一个相关的有用应用是“DevCleaner for Xcode” https://apps.apple.com/app/devcleaner-for-xcode/id1388020431

【讨论】:

注意事项:仅当您使用 xCode IDE 时才会重新创建新实例。如果您尝试在使用 xcodebuild 脚本、fastlane 或其他方式构建和运行测试的 CI 服务器上释放空间,最好避免使用此方法。 大声笑,现在我感觉很好,谢谢兄弟!这个转变花了我大约 10GB。 DevCleaner 清理了我的 Library/Developer/Xcode 文件夹,但没有清理 CoreSimulator。知道为什么吗? @Roberto,也许这样您仍然可以在模拟器上运行您的应用程序。我做了rm ~/Library/Developer/CoreSimulator/*,打开了Xcode,然后尝试在模拟器上运行我的应用程序。我收到一个错误:“无法启动设备,因为它无法位于磁盘上。域:NSPOSIXErrorDomain 代码:2 失败原因:设备的数据不再存在于 ~/Library/Developer/CoreSimulator/Devices/B2EFB6F6-6A64-4521 -83A4-94EA45420073/data. 恢复建议:使用Xcode中的设备管理器或simctl命令行工具,要么正确删除设备,要么擦除内容和设置。"【参考方案3】:

对于发现可用存储空间非常少但不知道原因的 iOS 开发人员:

检查您下载了多少个模拟器,因为它们占用了大量空间(之前的模拟器在您更新 XCode 时不会被删除,所以这会很快加起来):

转至: ~/Library/Developer/Xcode/iOS DeviceSupport

同时删除对您不再重要的旧存档应用:

转至: ~/Library/Developer/Xcode/Archives

我这样做清除了 100GB。

更新: 您现在只需转到左上角的 Apple 图标 -> 关于本机 -> 存储 -> 管理... -> 开发人员,即可轻松完成此操作。

【讨论】:

小心。您可能希望保留已发布版本的存档。 Technical Note TN2151: Understanding and Analyzing Application Crash Reports: Symbolicating Crash Reports 说:“重要提示:为了象征来自测试人员、应用程序审查和客户的崩溃报告,您必须为您分发的每个应用程序构建保留存档。” 是的,我将相关档案(尤其是产品版本)存储在硬盘上,以备日后需要使用【参考方案4】:

对于 Xcode 8:

我所做的是在终端中运行 sudo du -khd 1 以查看我的文件系统在简单文本中的每个文件夹的存储量,然后使用向上/向下钻取到隐藏巨大 GB 的位置cd 命令。

最终,您会找到 Users//Library/Developer/CoreSimulator/Devices 文件夹,您不必担心使用不再需要的 iOS 版本删除所有这些“设备”。将它们全部删除也是安全的,但请记住,您会丢失写入设备的数据,例如您可能希望用作备份版本的 sqlite 文件。

由于我在旧 iOS 版本上进行了大量测试,因此我曾经节省了超过 50GB。

【讨论】:

GrandPerspective 是一个很好的工具,可以比du 更清晰、更快速地找到正在使用的空间。 (grandperspectiv.sourceforge.net)。 我建议使用ncdu(也可以通过 Homebrew 和 MacPorts 获得)而不是一遍又一遍地运行du。它在终端中为您提供了一个交互式向下钻取界面,还可以让您删除文件夹等。【参考方案5】:

您还可以删除~/Library/Developer/CoreSimulator/Caches/dyld/ 目录并释放大量内存。

【讨论】:

【参考方案6】:

除了xcrun simctl delete unavailable,您还可以一次清理所有模拟的操作系统数据和应用程序:

 xcrun simctl erase all

也就是说,如果您不需要模拟器上的数据和安装的应用程序。您很可能不会 - Xcode 将在您下次在其中一个模拟器中运行时安装操作系统和您的应用程序。

这可能会释放更多 GB 的磁盘空间。

(如果xcrun 说找不到simctl:请确保在 Xcode Preferences -> Locations -> Command Line Tools 中正确指定了开发工具的位置)

【讨论】:

【参考方案7】:

我创建了一个小型命令行实用程序,用于清理 CoreSimulator 文件夹和其他一些可能占用额外空间的 Xcode 相关文件夹,在 this 答案中指定。如果您认为这对您有帮助,you can check it out here.

【讨论】:

虽然这可能是一个很好的解决方案,但我反对安装一种语言 (Go) 和具有大量依赖项的整个 brew 包的要求。事情应该保持简单,您可以在 bash/zsh 中编写它以使其对每个人都更有用。

以上是关于macOS Xcode CoreSimulator 文件夹很大。可以删除内容吗?的主要内容,如果未能解决你的问题,请参考以下文章

清除 xcode CoreSimulator 开发缓存 DerivedData iOS DeviceSupport

无法通过 XCode 9.4 上的 CoreSimulator 生成问题启动 IBCocoaTouchImageCatalogTool

此 Mac 上安装的 CoreSimulator 框架版本已过时,此版本的 Xcode 不支持

com.apple.CoreSimulator.CoreSimulatorService 是做啥的?

Xcode相关路径

Xcode常见路径