Xcode - 免费清除设备文件夹?

Lib*_*tal 65 macos xcode ios ios-simulator

我正在删除一些文件夹和文件,以便在我的驱动器上腾出更多空间.我知道在路上:

~/Library/Developer/CoreSimulator/Devices/
Run Code Online (Sandbox Code Playgroud)

每个模拟器和每个版本都有文件夹.这个文件夹大小约为11GB.我知道我可以删除我不再使用的旧版本的模拟器.但是从那个唯一的标识符我不知道哪个是正确的,哪个不是.所以我的问题是:我可以删除它吗?没关系,如果下次我在模拟器中没有任何我的应用程序,但我可以放弃更多的东西吗?旧版本的模拟器?还是其他什么?谢谢

Aar*_*ron 194

~/Library/Developer/CoreSimulator/Devices/路径是Xcode的店最需要你个人的仿真设备中的数据.

Beau Nouvelle关于删除下载的模拟器版本的建议不会改变这些文件夹的大小,因为运行时存储在别处.

如果你去终端,你可以使用simctl工具(Xcode 6+附带)列出你拥有的所有实际模拟器设备,以及id,以便你可以找出要删除的文件夹.

注意,你会看到我在这个答案中经常使用xcrun simctl.通过让xcrun为您当前选择的Xcode查找适当版本的simctl,可以为事物添加一些抽象.如果你的系统没有我的那么复杂,你可以放弃"xcrun"部分,命令行仍然应该找到simctl工具.

xcrun simctl list devices

以下是我收到的输出的一些选定片段:

==设备==

- iOS 8.2 -

- iOS 8.4 -

iPhone 6 Plus(23E36868-715A-48C8-ACC3-A735C1C83383)(关机)

iPad Air(2928379B-70E3-4C59-B5BA-66187DDD3516)(关机)

- iOS 9.1 -

我的自定义iPhone 4s(4F27F577-FFD0-42C1-8680-86BBA7394271)(关机)

iPad Retina(85717B35-313A-4161-850E-D99D5C8194A6)(关机)

- 不可用:com.apple.CoreSimulator.SimRuntime.iOS-9-0 -

iPhone 4s(D24C18BC-268C-4F0B-9CD8-8EFFDE6619E3)(关闭)(不可用,未找到运行时配置文件)

从那你可以看出我没有iOS 8.2模拟器设备.我有一些9.1和8.4模拟器设备.我确实有一个9.0模拟器设备(我在Xcode 7.0上工作的遗留物),但我没有9.0模拟器运行时本身.所以这是一个很好的删除候选人,或提醒我应该在Xcode中下载9.0模拟器.

如果需要,您可以使用这些ID来识别相关设备的文件夹并手动删除它(在这种情况下我会删除"D24C18BC-268C-4F0B-9CD8-8EFFDE6619E3"文件夹),但您也可以使用simctl工具来做到这一点.

根据7.1.1版本的simctl使用:

xcrun simctl help delete
Usage: simctl delete <device> [... <device n>] | unavailable
Run Code Online (Sandbox Code Playgroud)

所以我可以删除单个设备:

xcrun simctl delete D24C18BC-268C-4F0B-9CD8-8EFFDE6619E3

或者我可以批量删除所有不可用的:

xcrun simctl delete unavailable

也没有必要将自己纯粹限制在不可用的模拟器上.

如果您需要有关该工具的任何进一步帮助,它会提供一个相当简单的帮助命令:

xcrun simctl help

  • 如果你得到一个错误 `xcrun: error: cannot find utility "simctl"`,你应该可以使用,`xcrun /Applications/Xcode.app/Contents/Developer/usr/bin/simctl` (2认同)
  • Xcrun 应该帮助您找到实用程序,这样您就不需要自己知道它们的路径。但是,如果您已经知道 simctl 的路径,则不需要“xcrun”。直接运行`/Applications/Xcode.app/Contents/Developer/usr/bin/simctl` (2认同)